标准库类型string

头文件 #include<string>

命名空间:std

初始化:需要注意的是 string s(10,‘c’);//s是由10个c组成的串。 string(10)是错误的,这和vector有点区别;

string对象上的操作

读写

os<<s

is>>s

getline(is,s)

这里要注意的是缓冲的存在,还要注意的是>>读之后,换行符还在缓冲区。getline读一行后,换行符被丢弃。


string.empty()

string.size()

这里要注意的是string.size()  的返回值类型。为了体现标准库类型与机器无关的特性,string类定义了一个其配套的类型 string::size_type。虽然不知道它的细节,但是确定的是它是一个无符号类型的值。这时候auto和decltype有了用武之地。例如

auto len =line.size();


两个string对象的相加 s1+s2

string和字面值相加s1+="123"注意 s1=“s”+“b”+s2是错误的。


==,!=,<,<=,>,>=

处理string对象中的字符

这个时候用到一个c的库函数

#include<cctype>


c++11提出一种新的语句:范围for语句。

for(declaration:expression)

statement


例如string str(“something”);

for (auto c :str)

cout<<c<<endl;


用下标访问字符串中的字符。s[n] 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值