string初始化方式:

int main()
{string s1;//没有提供初始值,则默认初始化空串string s2(s1);//相同类型直接填入string s3("hehe");//字符串则要加双引号string s4(10,'a');//初始化为10个astring s5=s3;string s6="haha";cout<<s1<<s2<<s3<<s4<<s5<<s6<<endl;return 0;
}

打印:heheaaaaaaaaaahaha

用花括号初始化也可以,不是很常用,如:string s7{"abc"}

getline输出一整行

getline:参数(输入流,string对象),读取给定内容,遇到换行符停止(换行符也被读取进去了),它返回一个流的参数。

#include<stdio.h>
#include<string>using namespace std;int main()
{string s;while(cin>>s){cout<<s<<endl;}/*string s1;while(getline(cin,s1)){cout<<s1<<endl;}*/return 0;
}

当输入string字符时,遇到空格就停止了,得到一整行(包含空格的)就要用到getline函数,代码中注释部分就是。

string的size和empty函数,一个返回个数,一个返回是否为空。调用形式:s.size()   ,  s.empty() ,其中size函数返回一个string::size_type类型的无符号数。

处理string对象中的每个字符,使用基于范围的for语句来遍历每个元素,并对其进行操作(改变要定义引用),处理一部分字符则要用到下标。

#include<iostream>
#include<string>using namespace std;int main()
{string s="pan";for(auto &c : s)//c的类型不确定,则用auto{c='a';//使每个字符都变为acout<<c<<endl;}string s1="haha";for(auto &c1 : s1){s1[1]='b';//使其第二个字符变为bcout<<c1<<endl;}return 0;}

打印:a

a

a

h

b

h

a

参考资料:C++  Primer第五版

C++标准类型库string相关推荐

  1. 【C++札记】标准模板库string

    介绍 c++中字符串string对象属于一个类,内置了很多实用的成员函数,操作简单,方便更直观. 命名空间为std,所属头文件<string> 注意:不是<string.h>. ...

  2. C 标准库 - string.h

    C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. stri ...

  3. 《C++ Primer Plus》读书笔记 第16章 string类和标准模板库

    第16章 string类和标准模板库 1.string类 表16.1列出了string类的几个构造函数.其中NBTS(null-terminated string)表示以空字符结束的传统C-风格字符串 ...

  4. 第 16 章 string类和标准模板库

    第 16 章 string类和标准模板库 16.1 string类 C语言在 string.h(C++中为cstring)提供了一系列的字符串函数. 16.1.1 构造字符串 string 实际上是模 ...

  5. 【String类和标准模板库】

    1.string类 2.智能指针模板类 3.标准模板库 4.泛型编程 5.函数对象 6.算法 7.其他库 1.string类 string类是由头文件string支持的,要使用类,关键要知道它的公有接 ...

  6. 《C++ Primer Plus》学习笔记-string类和标准模板库

    第16章 string类和标准模板库(本书附录G有详细介绍) 16.1 string类 string类是由头文件string支持的. string类位于命名空间std中. ctor标识是传统C++中构 ...

  7. C++Primer Plus笔记——第十六章 string类和标准模板库总结及程序清单

    目录 本章小结 程序清单 string类 16.1 str1.cpp                16.2 strfile.cpp            16.3 hangman.cpp      ...

  8. C++ Primer plus学习笔记-第十六章:string类和标准模板库

    第十六章:string类和标准模板库 前言:这一章已经相当靠近全书的后面部分了:这一章我们会深入探讨一些技术上的细节,比如string的具体构造函数,比如适用于string类的几个函数,比如我们还会介 ...

  9. C++ Primer Plus 笔记(16章:string类和标准模板库)

    16 string类和标准模板库 16.1 string类 16.1.1 构造字符串 常见的字符串书中给了7个,另外还有两个在C++11里新增的(NTBS)表示以空字符结束的传统字符串 构造函数 描述 ...

最新文章

  1. php localcompare,JS中使用sort结合localeCompare实现中文排序实例_javascript技巧
  2. AE,按照属性值关系选择要素
  3. 关于mina的setSendBufferSize体验
  4. python比java简单好学-21、PHP和python/JAVA比,哪个更好学?
  5. 让书写的Matlab代码运行更快 Recipes for Faster Matlab Code
  6. TensorFlow错误:TypeError: __init__() got an unexpected keyword argument 'serialized_options'
  7. JSP分页技术的实现(利用当前页进行前后加减,并利用href进行当前页面传值,传值当然是那个当前值变量)...
  8. 上市在即!华为Mate 20 X 5G版证件照公布:国行首款5G手机
  9. BZOJ-2243 [SDOI2011]染色
  10. SAP License:ERP横向集中部署还是纵向集中部署
  11. ext4.0.7 样式兼容性
  12. java 不可修改对象_Java并发编程(六)不可改变对象
  13. POJ 3580 SuperMemo 伸展树
  14. python教程视频下载-python怎么下载视频
  15. 博客园北京俱乐部第二次技术活动(2009/4/4)总结
  16. Android O后台服务限制总结
  17. 整合 activiti 7 springcloud
  18. 奥维互动地图如何删除标签_奥维互动地图浏览器标签附件添加设置方法
  19. 怎么把一个gif表情包分解成多个?
  20. python下载所有 XKCD 漫画

热门文章

  1. [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)
  2. 快速排序之Java实现
  3. DataTables实现rowspan思路
  4. C#获取邮件客户端保存的邮箱密码
  5. 分页数据的新展示方式---瀑布流
  6. 斯坦福2018 AI指数报告出炉:DL职位需求两年增长35倍
  7. Makefile 学习 2 - 基于若干 Blog 的汇总
  8. python测试之道第5章模拟网络请求
  9. 关于python知识点的blog
  10. 思科中国创新中心总部正式落户广州