您的位置:首页 > 其它

标准库类型string

2016-06-28 11:06 239 查看
头文件 #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
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: