标准库string类型定义了大量函数,特将一些实用的操作记录下来
1. 构造方法
string s(cp, n) // s是cp指向的数组中前n个字符的拷贝,此数组至少应该包含n个字符
string s(s2, pos2) //s是string s2从下标pos2开始的字符拷贝。若pos2>s2.size(),此行为未定义
string s(s2, pos2, len2) //在上面一个构造函数的基础上,增加len2长度限制参数,指示从pos2开始的len2长度字符拷贝
2. substr子字符串操作
s.substr(pos, n) //返回一个string,包含从pos位置开始的n个字符的拷贝
3. assign, insert, erase 操作
s.insert(s.size(), 5, '!') // 在s末尾插入5个!字符
s.erase(s.size() - 5, 5); // 删除s末尾5个字符
s.assign(cp, 7) // 将cp前7个字符拷贝给s,此操作会替换s中所有的字符
s.insert(s.size(), cp + 7) // 在s末尾插入cp[7]开始的字符串
4. append, replace 操作
s.append("abc") // 在s末尾添加字符串abc
s.replace(pos, num, "abc") // 将s中pos位置开始num个字符替换为abc
5. string搜索操作
s.find(args) // 查找s中args第一次出现的位置
s.rfind(args) // 查找s中args最后一次出现的位置
s.find_first_of(args) // 在s中查找args中任何一个字符第一次出现的位置
s.find_last_of(args) // 在s中查找args中任何一个字符最后一次出现的位置
s.find_first_not_of(args) // 在s中查找第一个不在args中的字符
s.find_last_not_of(args) // 在s中查找最后一个不在args中的字符
===args表现形式如下===
c, pos
s, pos
cp, pos
cp, pos, n
===pos默认值0===
6.数值转换
to_string(val) // val为任何算术类型
stoi(s, p, b) // int
stol(s, p, b) // long
stoul(s, p, b) // unsigned long
stoll(s, p, b) // long long
stoull(s, p, b) // unsigned long long
===p为s中第一个非数值类型字符的下标默认0,b为进制默认10===
stof(s, p) // float
stod(s, p) // double
stold(s, p) // long double