string 的常用库函数
resize 重置大小
* resize s.resize(newSize) newSize为一个int类型
* 主要功能是重置字符串的大小
split
* split
substr 子字符串
* substr: s.substr(pos, len)
注意:第一个参数是起始位置,第二个参数表示子串的长度,注意不是迭代器。
* 主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有
指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。
erase 删除
* erase:
s.erase(k) 注意 k 为迭代器
* 主要功能是删除 某个迭代器下对应的元素,
* 慎用这个,因为erase操作上套了一个for循环,每删除一个,就把后面的每一个元素前移一个,覆盖掉原来的元素值。尤其在for循环里,真的慎用,时间复杂度就会变成 O(n*n)
stoi 字符串转数字
* stoi(str[i]) 把第i个元素当成int类型输出
* 把 string 类型转为 int类型输出
to_string 其他转换为字符串
* to_string(val) 把val转为string类型输出,val可能为int 、double、long等等
* 把其他类型转换为string类型变量
insert 插入
* str.insert(pose, 's') pose为迭代器,在str的pose后面插入一个字符 's'
是没见过的用法,就好好的记忆一下哦~
strcpy 复制
// 把 str2 赋值给 str1
strcpy(str1,str2)
compare 比较
// 判断两个字符串是否相等
// 在C++中,判断字符串是否相等有两种方式:
// 第一种是直接使用 == 运算符,
bool flog = (s1 == s2);
// 第二种是用 compare 函数
s1.compare(s2);
// 在C语言中strcmp为比较函数,如果输入的两个字符串相等则返回0
strcmp(s1,s2);
注意:判断字符串中的某个字符是否等于0
// 需要加引号呀
if(s[k] == '0')
+=
string 重载了 += 操作符,因此可以直接用 + 添加字符
注意:可没有重载 -= 操作符哦!!!别乱用吖~~~~
string s1;
s1 += "ab";
s1 += "cd";
// 最后的string为 abcd
字符串中的字符
C/C++中的字符串都是以 ‘\0’ 作为结尾
char str1[] = “hello world”;
*先分配一个长度为12个字节的空间,再把"hello world"的内容复制到数组中去。string str3 = “Hello world”;
*无须为其分配内存以存储字符串的内容,只需要把他指向"hello world"在内存中的地址就可以。