C++标准类型库string
生活随笔
收集整理的这篇文章主要介绍了
C++标准类型库string
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: rewind和fseek
- 下一篇: C++中#if,#ifdef,ifnde