一、string类简介
C++中string是STL标准库中的一个类,可以方便地进行字符串操作。与传统的C风格字符串相比,string类的优点在于避免了内存管理的麻烦,提供了一些常见的字符串操作函数等。
二、string类的构造函数
在使用string类创建对象时,可以使用多种构造函数,如下所示:
//创建一个空的字符串 string str1; //使用C风格的字符串初始化 string str2("hello world"); //从指定的位置截取指定长度的子串,生成新的字符串 string str3(str2, 6, 5); //使用重复的字符来初始化 string str4(10, 'a');
三、string类常用的成员函数
1. length()函数
该函数用于获取string对象中存储字符串的长度。
string str = "hello world"; int len = str.length(); cout << "length of str: " << len << endl;
2. substr()函数
该函数用于截取从指定位置开始的指定长度的子串。
//截取str中从第6个字符开始,长度为5的子串 string sub_str1 = str.substr(6, 5); cout << "sub string1: " << sub_str1 << endl; //截取str中从第6个字符到字符串末尾的子串 string sub_str2 = str.substr(6); cout << "sub string2: " << sub_str2 << endl;
3. find()函数
该函数用于在string对象中查找子串,并返回该子串在字符串中首次出现位置的索引,如果未找到则返回string::npos。
int index1 = str.find("world"); //返回6 int index2 = str.find("hi"); //返回string::npos
4. replace()函数
该函数用于替换string对象中指定位置开始的指定长度的子串。
//将str中从第6个字符开始的5个字符替换为"friends",并返回新字符串 string new_str = str.replace(6, 5, "friends"); cout << "new string: " << new_str << endl;
5. insert()函数
该函数用于在string对象中指定位置插入指定字符串。
//将"world"插入到str中第6个字符的位置上,并返回新字符串 string new_str = str.insert(6, "world"); cout << "new string: " << new_str << endl;
四、总结
string类是C++中用于字符串操作的重要类之一,能够方便地完成常见的字符串操作,如获取字符串长度、截取子串、查找子串、替换子串等。在实际开发中,我们需要根据实际需求选取合适的函数来完成字符串操作。