string

真·随机  •  9个月前


string 类型知识点整理

1.初始化

string s1(5,'a')
则  s1="aaaaa"
getline(cin,s1)
scanf("%[^\n]",&s)  这是char数组

2.直接相加

可以直接加另一个string、char []、char

3.插入字符串

s1.insert(3,s2)
将s2插入到s1的三号下标处,注意下标不可越界

4.删除字符串

s1.erase(5,3)
删除从5号下标处长度为3的子串
s1.erase(5)
删除从5号下标处至最后的子串
默认取min(指定长度,最大长度)删除,不会报错

5.提取子串

s2=s1.substr(5,3)
从下标5提取长度3的子串

6.查找子串

s1.find(s2)
s1.find(s2,5)    从下标5开始查找
s1.rfind(s2,5)   最多查找到下标5 
返回s2第一次出现的下标,若找不到则返回 string::npos(可用int()转化成-1)

s1.find_first_of(s2)
返回s1和s2共同具有的相同字符第一次在s1中出现的下标

7.替换子串

s.replace(5,3,s2)
将s从下标5起长度为3的子串替换为s2

8.两种长度方法

s.length()
s.size()

9.判断是否为空字符串

s.empty()

10.字典序

可以直接用比较运算符
s.compare(s2)
s和s2相等时返回0
s大于s2时返回值大于0
s小于s2时返回值小于0
  1. string s="1234" int a=atoi(s.c_str()); c_str() 会转到第一个非数字字符为止

评论: