string

string 类

初始化

c++中的初始化语句大体可以分为两类:直接初始化拷贝初始化。具体的初始化方式如下:

string s1;
string s2(s1);
string s3=s1;
string s4("string");
string s5="string";
string s6(n ,"s");

其中s3和s5都是拷贝初始化。也就是说,凡是用‘=’初始化的均是拷贝初始化。

string对象的操作

string对象共有如下操作:

os<<s; //将s写到输出流os当中,返回os
is<<s; //从is中读取字符串赋给s,字符串以空白分隔,返回is
getline(si,s); //从is中读取一行赋给s,返回is
s.empty(); //s为空返回true,否则返回false
s.size(); //返回s中字符的个数
s[n]; //返回s中第n个字符的引用,位置n从0计起
s1+s2; //返回s1和s2链接后的结果
s1=s2; //用s2的副本代替s2中原来的字符
s1==s2; //判断s1是否等于s2,并且对字母的大小写敏感
s1!=s2; //判断s1是否不等于s2,并且对字母的大小写敏感
< <= > >= //比较并对大小写敏感,具体顺序为a<A<b<B.....

string的读写

从IO读string对象的时候,string会忽略开头的空白,并将出开头外的第一个空白(空格,回车)视为结束。如果想要避免cin对空白的忽略,那么可以使用getline函数。该函数直接读取一行并且不忽略任何空格。

对string中单个字符的处理

c/c++中定义了处理字符串中单个字符的一众函数,如下

isalnum(c);  //当c是字母或者是数字的时候为真
isalpha(c);  //当c是字母的时候返回为真
iscntrl(c);  //当c是控制字符的时候返回为真
isdigit(c);  //当c是数字的时为真
isgraph(c);  //当c为非空格的可打印字符的时候
islower(c);  //当c为小写字母的时候
isprint(c);  //c为可打印字符的时候
ispunct(c);  //c为标点符号
isspace(c);  //c为空白字符(空格 横向制表符 纵向制表符 回车符 换行符 进纸符)
isupper(c);  //c为大写字母
isxdigit(c);  //c为十六进制的数字
tolower(c);  //c为大写字母则变换为小写字母返回
toupper(c);  //c为小写字母则变换为大写字母返回

c++11中定义了一种新的for循环:范围for

for(declaration:expression)
  statement

declaration是一个定义,expression是一个序列对象,string、数组、vector等。declaration定义的变量就会依次访问expression中的每一个元素。假如我们定义的变量不是引用类型的,那么我们是无法改变字符串内容的,我们只能对字符串中的内容做一些统计。如果我们想要通过范围for来改变字符串中的内容,那么我们就需要将定义的变量改为引用类型,我们的变量就是序列中元素的别名,可以通过这个别名来改变序列中的元素。当然我们也可以使用常规的for循环来进行对特定下标的元素进行访问和修改。

更多相关内容查看我的个人博客:www.yhuiest.top

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值