标准库类型string

头文件 #include

命名空间:std

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

string对象上的操作

读写

os<

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


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

for(declaration:expression)

statement


例如string str(“something”);

for (auto c :str)

cout<


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



你可能感兴趣的:(主线之外(缺啥补啥))