字符串是C++程序中常见和重要的数据类型。C++通过string类封装了字符串的相关操作,本文将主要介绍C++ string类的基本用法。
一、构造和初始化
string s1; // 默认构造,空字符串
string s2(10, 'a'); // 初始化10个a
string s3("hello"); // 从c字符串构造
string s4(s3); // 拷贝构造
s1 = "world"; // 赋值
s1.assign("word"); // assign赋值
二、基本操作
- s1 + s2: 连接
- s1 == s2: 比较
- s1[0]: 访问字符
- s1.size()/length(): 长度
- s1.empty(): 是否为空
三、字符操作
s1.push_back('a'); // 尾部加入一个字符
s1.pop_back(); // 删除最后一个字符
s1.insert(0, 'a'); // 指定位置插入字符
s1.erase(0, 1); // 删除指定范围的字符
四、字符串操作
s1.substr(2, 5); // 提取子字符串
if(s1.find("hello") != string::npos) {
// 找到子串
}
s1.replace(2, 5, "world"); // 替换子串
五、转换为C字符串
char arr[100];
s1.copy(arr, s1.length(), 0); // 拷贝到arr
char* cstr = s1.c_str(); // 转换为c字符串指针
string类极大地方便了C++字符串的使用,使字符串操作更加简单高效。掌握string的用法是C++编程中必备的一项基础技能。