string作为一种顺序容器,除了支持insert、assign、erase、push_back、pop_back、取地址符外,还支持
构造string的其他方法
string s(cp,n)
从char*指向的字符数组拷贝n个字符string s(cp)
从以’\0’结尾的字符串拷贝整个字符串string s(s2,pos2,len2)
从另一个string 的pos2位置拷贝len2个字符,如果pos2>s2.size()则UB,如果len2>s2.size()则只拷贝size()之内的字符substr()
string类的成员函数,s.substr(pos,len)返回s字符串从pos开始长度为n的子串
改变string的其他方法
- append(args)
- replace(range,args)
- insert(pos,args)
- assign(args)
【args 可以是】
str2 是另一个string
str2 ,pos ,len
cp,len
cp
n,c n个字符c
b2,e2并不是每一个方法都支持所有的args形式
【range可以是】
pos,len 从pos开始,长len
b,e 迭代器指向s自己[b,e)
string搜索操作
find(args,pos)
从pos开始从左往右搜索, 精确 匹配 args,返回第一次匹配的位置,无匹配返回string::nposfind_first_of(args,pos)
与args中的任一个字符匹配,其余同上find_first_not_of(args,pos)
在s中查找第一个不属于args中的字符
- rfind(args,pos)
- find_last_of(args,pos)
- find_last_not_of(args,pos)
从右往左查找
数值转换
- 数值类型转换为string
- to_string(val)
string转换为数值类型
- stoi(s,p,b)
- stof(s,p)