string——学习笔记

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"在内存中的地址就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值