@2017libin
2019-06-16T17:02:18.000000Z
字数 1237
阅读 54
c++
#include <string>using namespace std;//使用字符串初始化string s1 = "abc";//arr[3]最多只能有两个字符,最后一个为'\0'char arr[3] = {"1","2","\0"};string s2 = arr;//替换函数,不一定要匹配长度s.replace(1,5,"abc");//逆置函数,在s上面逆置reverse(s.begin(),s.end());//当前字符串大小cout << s1.size() << endl;//当前字符串长度cout << s2.length() << endl;//string和string拼接string s3 = s1 + s2;//string和char拼接string s4 = s1.append(ch,3);cout << s4 << endl;//string的插入,在第0个元素前面插入cout << s4 << endl;s4 = s4.insert(0,"2");cout << s4 << endl;//string元素的删除,string::iterator it=s4.begin();//从第1个元素开始,擦除4个元素s4.erase(1, 4);//删除区间[0,2)的元素s4.erase(it,it+2)cout << s4 << endl;//string类型比较,结果返回0/1cout << (s1 == s2) << endl;cout << (s1 < s2) << endl;cout << (s1 > s2) << endl;//数字转为string,int不能转化long i = 1;s1 = to_string(i);cout << s1 << endl;//string转换为int, doubles1 = "123";int x = stoi(s1);cout << x << endl;s1 = "123.123";double y = stod(s1);cout << y << endl;
| 功能 | 函数 |
|---|---|
| 获取第i个字符 | s[i]或者s.at(1) |
| 求string的长度 | s.size()或者s.length() |
| 查找t是否为s的字串 | s.find(t),返回第一次出现的位置 |
| 字符数组转换为string | s = str |
| 数字num转为字符串(int除外) | to_string(num) |
| string转换为int,double | int i = stoi(s), double d = stod(s) |
| string转为字符数组 | 逐个赋值... |
| 逆置函数,原有string上面操作 | reverse(s) |
| 比较两个string的大小 | 直接用 '>' '<' '==' |
| 添加string 或者 char | s1 = s1 + s1 或者 s1.append(s2) |
| 在index之前插入char | s.insert(index, char) |
| 删除区间为[0,3)的元素 | erase(s.begin(), s.begin()+3) |
| 删除下标从1开始的4个元素 | erase(1, 4) |
| 替换,长度不一定匹配 | s.replace(1,4,"ab") |