C++中string的常见用法

在ACM中主要用到string的这几个功能:赋值,添加,删除,替换,查找,比较,反向排序。

1.赋值

  直接来就行:

  string ss;

  ss="aaa";

  或者

  string sa,sb;

  cin>>sa;

  sb=sa;

2.添加

  在末尾加字符或字符串直接用加号:

  string ss;

  ss+='a';

  ss+="aaa";

  在中间插入一个字符用ss.insert()函数:

  ss.insert(ss.begin()+1,'a');//在ss[1]之前插入字符a

  在中间插入一个字符串可以用替换函数ss.replace()

  ss.replace(2,0,"aaa");//从第二个字符开始将连续0个元素替换为aaa(就是将aaa插入到了第二个字符前面了)

3.删除

  给ss赋空值ss=""就是把整个字符串清空了。

  用ss.erase()删除掉迭代器所指的一个或一个区间内(左闭右开)的元素。

  string::iterator it=ss.begin();

  ss.erase(it+1);

  ss.erase(it+1,it+3);

4.替换

  就是用ss.replace()函数,第一个参数表示从第几个字符开始,第二个参数表示一共替换几个,第三个参数表示换成的字符(串);

  ss="abcdefg";

  ss.replace(2,2,"999");

  结果ss为ab999efg;

5.查找

  使用ss.find()函数,查得到则返回第一个下标,查不到返回4294967295

  ss.find("abc");

6.比较

  使用ss.compare()函数,ss大则返回1,小返回-1,相等返回0.

  ss.compare("abc");

  注:所谓“大”,是指字典序大(在字典中靠后)。

7.反向排序

  直接reverse(ss.begin(),ss.end());

原文地址:https://www.cnblogs.com/zywscq/p/4236738.html