string 是 STL 库常见的类之一:
笔记目录:
1. 基本操作:
(1). 初始化
2. 常用操作:
(1). 复制
(2). 迭代
(3). 连接
(4). 查找
(5). 截短
3. 常用算法:
(1). 字符串反转
(2). 大小写转换
1. 基本操作
(1) 初始化
- char strName[20] = "XiaoMing"; //C 风格字符串初始化
- string strName2("XiaoMing"); //C++ string 字符串, 构造函数初始化
- string str(10,'a'); // 初始化字符串 str 为 10 个 a
2. 常用操作
(1) 复制
C++ 复制:
- const char *strdsd = "sdljfhkjsd";
- string str(strdsd); // 将 C 字符串复制到 C++ 字符串中
- string str(strdsd,3); // 将 C 字符串前 3 个字符复制到 C++ 字符串中
- string strCopy(str); // 将一个 C++ 字符串复制到另一个 C++ 字符串中
C 风格复制:
- const char *str1 = "sdljfhkjsd";
- char* strCopy = new char(strlen(str1)+1); // 定义一个新的指针, 并初始化, 长度为 str1 的长度加上结束符
- strcpy(strCopy, str1);
- cout << strCopy << endl;
(2) 迭代
- string str("hello string");
- // 传统方法
- for (int i = 0; i < str.length(); i++)
- cout << str[i] << endl;
- // 迭代器
- for (auto iter = str.begin(); iter != str.end(); iter++)
- cout << *iter << endl;
(3) 连接
- string str("hello string");
- string str2("hello world");
- str += str2; // 直接使用 +=
- str.append(str2); // 使用 append 方法
- const char* str3 = "hell C++";
- str.append(str3); // 也可以将 C 字符添加到末尾
- cout << str << endl;
(4) 查找
- /* 函数原型: int find(par1, par2);
- par1: 要查找的内容
- par2: 查找的起点位置
- 返回值: 第一个找到的位置 */
- string str("hello string");
- int pos = str.find('o', 0);
- if(pos != npos)
- cout << "在下标" << pos << "找到" << endl;
(5) 截短
- string str("hello string");
- str.erase(2, 6);
- cout << str << endl;
更详细的内容请参考博客: https://www.cnblogs.com/Draymonder/p/6944479.html
来源: http://www.bubuko.com/infodetail-2976319.html