您的位置:

常用C++ string类函数操作

一、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++中用于字符串操作的重要类之一,能够方便地完成常见的字符串操作,如获取字符串长度、截取子串、查找子串、替换子串等。在实际开发中,我们需要根据实际需求选取合适的函数来完成字符串操作。