C++字符串类

字符串是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++编程中必备的一项基础技能。