字符串的定义和初始化
#include <string>
using namespace std;
string str1; // 定义一个空的字符串
string str2 = "hello world"; // 使用字符串字面量进行初始化
string str3("hello world"); // 使用构造函数进行初始化
string str4(str2); // 使用拷贝构造函数进行初始化
字符串的基本操作
#include <string>
using namespace std;
string str = "hello world";
// 获取字符串长度
int len = str.length(); // 或者 str.size()
// 获取字符串某个位置的字符
char ch = str[0]; // 获取第一个字符
// 字符串的拼接
string str1 = "hello";
string str2 = "world";
string str3 = str1 + " " + str2; // 拼接成字符串"hello world"
// 字符串的比较
string str1 = "hello";
string str2 = "world";
bool isEqual = str1 == str2; // 比较两个字符串是否相等
// 字符串的查找
string str = "hello world";
int pos = str.find("world"); // 查找"world"在字符串中的位置
// 字符串的替换
string str = "hello world";
str.replace(6, 5, "there"); // 替换"world"为"there"
// 字符串的截取
string str = "hello world";
string subStr = str.substr(6, 5); // 截取"world"
字符串高级用法
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
string str = "hello world";
// 字符串的反转
reverse(str.begin(), str.end()); // 反转字符串
// 字符串的遍历
for (char ch : str) {
cout << ch << " ";
}
// 字符串的转换
string str1 = "123";
int num = stoi(str1); // 字符串转换成整数
double db = stod(str1); // 字符串转换成浮点数
// 字符串的格式化
int num = 123;
string str = "hello";
string formatStr = "num: " + to_string(num) + ", str: " + str;