C++中关于String类的那些事
1.构造与赋值
| string s4(“12345”, 1, 3); | ()内可空,可只有“”,1,3表示取“”中的相应区间 |
| s2.assign(“abcde”, 2, 3); | 其实可以直接等号赋值,也可用assign函数 |
2.函数
| str.size()或str.length() | 获取字符串长度 |
| str.empty() | 判断字符串是否为空 |
| ==,!=,>,< | 比较字符串,从左起,前面同则转为长度比较 |
| s1.compare(1, 2, s2, 0, 3) | 同上 |
| s1.find(“Source”, 3) | 从第三个位置开始找,返回找到的最左侧位置,注意string::npos没有位置 |
| s1.replace(1, 3, “123456”, 2, 4) | 替换,位置1开始向后长度3个替换为2开始向后长度4 |
| s1.insert(3, 5, ‘X’) | 插入 |
| s1.erase(1, 3) | 删除 |
| s1. substr(0,5) | 子串 |
| strcpy(s1,s2) | 复制 |
| strlen(s1) | 长度 |
| strcat(s1,s2) | 连接(针对char数组) |
| strchr(s1,char) | s1中char第一次出现的位置 |
| strstr(s1,s2) | s1中s2第一次出现的位置(重复开始到最后,如果取*则为第一个重复元素),s1和s2为char数组 |
| strcmp(s1,s2) | 比较 |
| to_string(int) | 转字符串 |
3.find函数——等同char数组的strstr
string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数)
string::size_type position;
//find 函数 返回jk 在s 中的下标位置
position = s.find("jk");
if (position != s.npos) /
本文介绍了C++中String类的相关知识,包括构造与赋值方法,重点解析了find函数的用法,它类似于char数组的strstr函数,返回目标子串在字符串中的位置,未找到则返回npos。
1504

被折叠的 条评论
为什么被折叠?



