string是表示字符串的字符串。管理字符数组的一个类。

在使用string类时,必须包含#include头文件以及using namespace std;


string对象的容量操作:

注意:

size();求的是字符个数。

clear();只是将string中有效字符清空,不改变底层大小,也就是capacity。

resize(n)和resize(n,c);都是将字符串中有效字符个数改变到n个,也就是size变为n;

不同的是当字符个数增加时:resize(n)是用0来填充多余空间,resize(n,c)是用字符c来填充;、

resize在增加元素个数时,可能会改变底层容量的大小,但是在减少元素个数时,不会改变底层容量大小。(因为resize改变的是size,而不是capacity)


string类对象的访问及遍历操作

1、for+operator[pos]   返回pos位置的字符,也就是重载了[]运算符,对象可以直接当数组用。

2、begin+end    为迭代器用法(iterator);begin获取一个字符的迭代器,end为最后i一个字符下一个位置的迭代器。(迭代器取元素需要解引用)

3、rbegin+rend  为倒着遍历迭代器用法。

4、范围for:for(auto ch:array){}

5、c_str返回c格式得字符串。如char* ch=c_str();


查找

find:

find(ch,pos)pos位置开始找ch的值,pos默认为0,返回值为下标,如果没有找到返回值为string::npos

rfind  由end开始查找。

substr(pos,len)在pos位置开始截取len长度的字符串。substr为某个对象的字串。


输入:

getline(cin,s);获取一行字符串,遇到换行停。

cin和scanf都是遇到空格或者换行就停。


©著作权归作者所有:来自51CTO博客作者我要进大厂的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. linux if 判断
  2. js:事件、留言板、常用字符串函数
  3. java Date日期类型与字符串 转换
  4. Python高能小技巧:了解bytes与str的区别
  5. Python之字符编码
  6. JS获取指定字符串中出现次数最多的字符及其出现次数
  7. Matlab基本运算3
  8. POSIX正则表达式的一些事
  9. chrome查看网站字符集编码的方法(不需要安装charset)

随机推荐

  1. [转]Android 实现TextView中文字链接的方
  2. android Content Provider 详解
  3. Android(安卓)动画之ScaleAnimation应用
  4. Android Studio中Can't resolve symbol.
  5. 个人对android中项目命名规则的整理
  6. Android Android利用Fiddler进行网络数据
  7. 解决requestFeature() must be called be
  8. CrystaX NDK - 更强大的Android NDK
  9. Android 编码规范
  10. eclipse android开发环境 bug CDT包含路