[关闭]
@2017libin 2019-06-16T17:02:18.000000Z 字数 1237 阅读 54

c++ string

c++


string操作

  1. #include <string>
  2. using namespace std;
  3. //使用字符串初始化
  4. string s1 = "abc";
  5. //arr[3]最多只能有两个字符,最后一个为'\0'
  6. char arr[3] = {"1","2","\0"};
  7. string s2 = arr;
  8. //替换函数,不一定要匹配长度
  9. s.replace(1,5,"abc");
  10. //逆置函数,在s上面逆置
  11. reverse(s.begin(),s.end());
  12. //当前字符串大小
  13. cout << s1.size() << endl;
  14. //当前字符串长度
  15. cout << s2.length() << endl;
  16. //string和string拼接
  17. string s3 = s1 + s2;
  18. //string和char拼接
  19. string s4 = s1.append(ch,3);
  20. cout << s4 << endl;
  21. //string的插入,在第0个元素前面插入
  22. cout << s4 << endl;
  23. s4 = s4.insert(0,"2");
  24. cout << s4 << endl;
  25. //string元素的删除,
  26. string::iterator it=s4.begin();
  27. //从第1个元素开始,擦除4个元素
  28. s4.erase(1, 4);
  29. //删除区间[0,2)的元素
  30. s4.erase(it,it+2)
  31. cout << s4 << endl;
  32. //string类型比较,结果返回0/1
  33. cout << (s1 == s2) << endl;
  34. cout << (s1 < s2) << endl;
  35. cout << (s1 > s2) << endl;
  36. //数字转为string,int不能转化
  37. long i = 1;
  38. s1 = to_string(i);
  39. cout << s1 << endl;
  40. //string转换为int, double
  41. s1 = "123";
  42. int x = stoi(s1);
  43. cout << x << endl;
  44. s1 = "123.123";
  45. double y = stod(s1);
  46. cout << y << endl;

总结string 的 常用操作:

功能 函数
获取第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")
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注