C++ string用法总结
std::string
是 C++ 标准库提供的字符串类,提供了一系列方法用于处理字符串。以下是一些 std::string
的基本用法总结:
- 包含头文件
#include <string>
- 声明和初始化
std::string str; // 创建一个空字符串
std::string str1 = "Hello, "; // 使用字符串字面值初始化
std::string str2("world!"); // 使用构造函数初始化
std::string str3 = str1 + str2; // 字符串拼接
- 获取字符串长度
str.length(); // 获取字符串长度
str.size(); // 获取字符串长度
- 访问字符串中的字符
char ch = str[0]; // 获取字符串中的第一个字符
- 字符串的迭代器遍历
for (auto it = str.begin(); it != str.end(); ++it) {
// 使用迭代器访问字符
}
- 字符串连接和拼接
str.append(" Additional Text"); // 在字符串末尾追加文本
str += " Another Text"; // 使用 += 运算符拼接字符串
- 字符串比较
str1 == str2; // 字符串相等性比较
str1 != str2; // 字符串不相等性比较
str1 < str2; // 字符串大小比较
- 字符串查找和替换
size_t pos = str.find("search"); // 在字符串中查找子字符串,返回位置
str.replace(pos, 6, "replace"); // 替换子字符串
- 字符串截取
std::string substr = str.substr(pos, length); // 从指定位置截取指定长度的子字符串
- 字符串转换为 C 风格字符串
const char* cStr = str.c_str(); // 返回一个指向以 null 结尾的 C 风格字符串的指针
- 字符串的其他操作
str.clear(); // 清空字符串
str.empty(); // 判断字符串是否为空
- 注意事项
std::string
自动管理字符串的内存,不需要手动分配或释放内存。- 在涉及大量字符串拼接或修改的情况下,可以考虑使用
std::stringstream
或其他更高效的方式,以避免频繁的内存重新分配。