只记录常用用法:
1.#include <string>
2.string可以直接==这种比较,但是char str[20]的要用strcmp比较,等等很多类似的区别
3.常用函数
以string str;为例
特性:
str.size()或者str.length();表示其长度;
str.empty()用来判断是否为空
子串:
str.substr(startpos);或者str.sub(startpos,length);//从startpos开始的长为length的子串
查找:
str.find("abc".startpos);与
str.find(str2,startpos);
str.find("abcdef",startpos,length);//从startpos开始,取"abcdef"中length的作为比较的子串,注意length不要超过“abcdef”总长
rfind 用法与find相同但是它不是从pos开始找,而是从pos向前找。
find_first_of();find_last_of();
find_first_not_of(),find_last()_not_of();
其中first,last控制的是从前向后找开始从后向前找,
以str.find_first_of("abcde",startpos);为例,表示从str中从前向后,找到abcde中任何一个就停止。
删除:
str.erase(startpos,endpos);
或定义迭代器string::iterator i;,或者用str.begin(),str.end();
str.erase(i);str.erase(str.begin(),str.begin()+1);
替换:
记住是删除再加入,也就是删除要两个参数,从哪里开始,删除多少个,加入至少要一个参数,加入啥,加入多长
str.replace(deletestartpos, deletelength,str2);
str.replace(deletestartpos, deletelength,str2
, insrtlength);
插入:
str.insert(startpos,str2);