C++标准库string类型

1. string的初始化

//1. string 的初始化方式
 string s1; //默认构造函数,初始化为空串""
 string s2(s1);  //将s2初始化为s1的副本
 string s3("value"); //初始化为字面值副本、
 string s4(5,'c'); //初始化为字符'c'的n个副本

由于历史原因及为了与C语言兼容,string类型与字符字面值时不同类型。

2. string 对象的读写

string s;
cin>>s;

(1). 读取并忽略开头所有空白字符(空格、换行符、制表符)。

(2). 读取直到再次遇到空白字符,读取终止。

读取操作将返回做操作数,这意味着可进行级联操作。

2.1 读入未知数目大的string

while (cin>>s)
  cout<<s<<endl;

将输入流的有效性作为判断条件,即是否到达文件末尾且是否有效输入。

2.2 用getlint 读取整行文本

getline函数的两个参数,(输入流对象,string对象),从输入流中读取去一行,保存到string对象中,次string对象不包含换行符。

getline并不忽略开头换行符,如遇到换行符,将作为一次有效输入,返回空串到string对象。

注:getline函数返回将丢弃换行符。

3. string 的操作

3.1 长度

if(s.empty() == false)
 {
  string::size_type length = s.size();
  cout<<"size = "<<length<<endl;
 }

size操作返回的是string::size_type类型,与机器无关,unsigned的保证足够大能存储任意string的长度。

最佳实践:不要把size的返回值赋给一个int变量。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5fda99c69ab6d8f3f2c5d74c3c53e6ad.html