我们在下面的集合1中讨论了String类及其一些功能。
C++字符串类及其应用|套装1
本文讨论了更多功能
字符串与字符数组
在C++中,除了字符数组外,还有一种类似的方式来实现字符串,即使用字符串类,它是C++标准库的一部分。要使用字符串类实现字符串,我们需要添加头文件。字符数组和字符串之间的基本区别是,在字符数组的情况下,必须在声明时分配大小,即分配后的所有内存都是固定的,不能在运行时更改。而对于字符串,则无需在声明时指定大小和分配固定内存。
// C++ program to demonstrate Character Array
// and String
#include
#include// for string class
using namespace std;
int main()
{
// Size has to be predefined in character array
char str[80] = "GeeksforGeeks";
// Size not predefined in string
string s("GeeksforGeeks");
// Printing character array and string
cout << str << endl;
cout << s << endl;
return 0;
}
输出:
GeeksforGeeks
GeeksforGeeks
一些有用的字符串函数
- compare(string_to_compare) :-用于比较两个字符串。它以整数形式返回第二个字符串和第一个字符串的差。
// C++ program to demonstrate use of compare() #include
#include using namespace std; int main() { string str("GeeksforGeeks"); string str1("GeeksforGeeks"); // Comparing strings using compare() if ( str.compare(str1) == 0 ) cout << "Strings are equal"; else cout << "Strings are unequal"; return 0; } 输出 :
Strings are equal
- find(“字符串”):在字符串搜索在参数中指定的子字符串的第一次出现。它返回第一次出现的子字符串的位置。
- find_first_of(“字符串”):搜索的字符串匹配的任何在它的参数中指定的字符的第一个字符。它返回匹配的第一个字符的位置。
- find_last_of(“字符串”):搜索的字符串匹配任何在它的参数中指定的字符的最后一个字符。它返回匹配的最后一个字符的位置。
- rfind(“字符串”):在字符串搜索参数中指定的子字符串的最后一次出现。它返回最后一次出现的子字符串的位置
// C++ program to demonstrate working of find(), // rfind(),find_first_of() and find_last_of() #include
#include using namespace std; int main() { string str("The Geeks for Geeks"); // find() returns position to first // occurrence of substring "Geeks" // Prints 4 cout << "First occurrence of \"Geeks\" starts from : "; cout << str.find("Geeks") << endl; // Prints position of first occurrence of // any character of "reef" (Prints 2) cout << "First occurrence of character from \"reef\" is at : "; cout << str.find_first_of("reef") << endl; // Prints position of last occurrence of // any character of "reef" (Prints 16) cout << "Last occurrence of character from \"reef\" is at : "; cout << str.find_last_of("reef") << endl; // rfind() returns position to last // occurrence of substring "Geeks" // Prints 14 cout << "Last occurrence of \"Geeks\" starts from : "; cout << str.rfind("Geeks") << endl; return 0; } 输出:
First occurrence of "Geeks" starts from : 4 First occurrence of character from "reef" is at : 2 Last occurrence of character from "reef" is at : 16 Last occurrence of "Geeks" starts from : 14
- insert(pos_to_begin,string_to_insert):此函数将给定的子字符串插入字符串。它有两个参数,第一个是您要从中插入子字符串的位置,第二个是子字符串。
// C++ program to demonstrate working of insert() #include
#include using namespace std; int main() { string str("Geeksfor"); // Printing the original string cout << str << endl; // Inserting "Geeks" at 8th index position str.insert(8,"Geeks"); // Printing the modified string // Prints "GeeksforGeeks" cout << str << endl; return 0; } 输出:
Geeksfor GeeksforGeeks
- clear():此函数清除字符串的所有字符。此操作后,字符串变为空(长度变为0)。
- empty():测试字符串是否为空。该函数返回一个布尔值。
// C++ program to demonstrate working of clear() // and empty() #include
#include using namespace std; int main() { string str("GeeksforGeeks"); // clearing string str.clear(); // Checking if string is empty (str.empty()==1)? cout << "String is empty" << endl: cout << "String is not empty" << endl; return 0; } 输出:
String is empty
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。