C++ 标准库类型string

  string 类型在头文件 string 内,定义在 std 命名空间中。

  定义和初始化

  string s1;

  string s2(s1);  //拷贝初始化

  string s2=s1;  //同上

  string s3("hello world ");  //使用字面值初始化

  string s4(10,'c');  //使用连续10个 c 初始化

  操作

  getline(is,s);  //从 is 中读取一行赋给s,返回is

  s.empty();  //判断 s 是否为空

  s.size();  //返回 s 中字符个数

  s1+s1;  //返回 s1 和s2 连接后的字符串

  s.append()  //在末尾添加新字符串

  s.find()  //返回字符串或字符在 s 中第一次出现的位置,如果没找到返回string::npos 

  s.rfind()  //逆序查找 

  额外的string操作

  构造的其他方法:

  string s(cp,n)   //s是cp指向数组中前n个字符的拷贝。此数组至少应该包含n个字符

  string s(s2,pos2)  //s是string s2 从下标pos2开始的字符的拷贝

  string s(s,pos2,len2)  //拷贝len2个字符

  substr操作:

  substr(t)  //拷贝从t后字符

  substr(t,n)  //拷贝从t后n个字符

  改变string的方法:

  s.insert(s.size(),5,'!');   //在s末尾插入5个感叹号

  s.erase(s.size()-5,5);  //删除最后5个字符

  const char *cp="Stately, plump Buck";

  s.assign(cp,7);  //s=="Stately"

  s.insert(s.size(),cp+7);  //s==*cp

  append和replace函数:

  append(args)  //将args追加到原字符串

  replace(t,n,s)  //在t处删除n个字符,插入s

  搜索操作:

  s.find(args)  //查找s中args第一次出现的位置

  s.rfind(args)  //查找s中args最后一次出现的位置

  s.find_first_of(args)  //查找s中args中任意一个字符第一次出现的位置

  s.find_last_of(args)  //查找最后一次位置

  s.find_first_not_of(args)  //查找第一次没出现的位置

  s.find_last_not_of(args)  //查找最后一次没出现的位置

  args为 c,pos,n,c为字符或字符串,pos为开始查找的位置,默认为0,n为查找前n个字符

  比较操作

  s1.compare(pos1,n1,s2,pos2,n2)  //将s1中从pos1开始的n1个字符和s2中从pos2开始的n2个字符比较

  数值转换

  to_string(val)  //一组重载函数,返回val的string表示,val可以是任何算术类型

  stoi(s,p,b)  //返回s的起始子串的数值,b表示转换所用基数,默认为10,p是size_t指针,用来保存s中第一个非数值字符的下表,p默认0。

 

posted @ 2019-02-26 21:14  我是好人007  阅读(312)  评论(0编辑  收藏  举报