string数据类型函数总结
与 string 相关的函数
(一) 输入与长度
getline(cin, s): 从标准输入读取一行字符串,存储到s中,直到遇到换行符为止。与cin不同,cin会在遇到空格时停止读取。s.size(): 返回字符串s的长度(字符数)。
(二) 寻找与截取
s.find(a, x): 在字符串s中从下标x开始查找子串a第一次出现的位置。如果找到,返回子串的起始下标;如果未找到,返回string::npos(为-1)。- 参数
x可以省略,默认从下标0开始查找。
- 参数
s.substr(i, len): 从字符串s的下标i开始,截取长度为len的子串。- 参数
len可以省略,默认截取从i开始到字符串末尾的所有字符。 - 如果剩余字符数少于
len,则只截取剩余部分。
- 参数
(三) 删除、插入与替换
s.erase(i, len): 从字符串s的下标i开始,删除长度为len的子串。- 参数
len可以省略,默认删除从i开始到字符串末尾的所有字符。
- 参数
s.insert(i, str): 在字符串s的下标i处插入字符串str。s.replace(i, len, str): 从字符串s的下标i开始,将长度为len的子串替换为字符串str。
(四) 获取位置(指针)
s.begin(): 返回指向字符串s起始位置的指针。s.end(): 返回指向字符串s末尾位置的指针。
(五) 类型转换
stoi(s): 将字符串s转换为int类型的整数。stoll(s): 将字符串s转换为long long类型的整数。stof(s): 将字符串s转换为float类型的浮点数。to_string(n): 将整数int或浮点数double类型的n转换为字符串。
string 与 char s[] 的区别
-
长度:
char s[]的长度是固定的,定义时需要指定大小。string的长度是动态的,可以根据需要自动调整。
-
函数支持:
char s[]是 C 风格的字符串,支持的函数较少(如strlen,strcpy等)。string是 C++ 标准库中的类,提供了丰富的成员函数(如size(),find(),substr()等)。
-
操作符支持:
string支持直接使用+进行字符串拼接,以及使用==,!=,<,>等进行字符串比较。char s[]不支持这些操作符,需要使用函数(如strcat,strcmp等)来实现类似功能。

浙公网安备 33010602011771号