【C++ Primer 学习笔记】第三章 字符串、向量和数组
3.2 标准库类型string
3.2.2 string对象上的操作
读写string对象
在执行读取操作时,string对象会自动忽略开头的空白
读取到下一个空白处
#include <iostream>
using namespace std;
int main()
{
string s;
cin >> s;
cout << s << endl;
system("pause");
return 0;
}
执行结果如上图所示,会自动忽略开头的所有空格,并到下一个空格出现位置
读取未知数量的string对象
int main()
{
string s;
while (cin >> s)
{
cout << s << endl;
}
system("pause");
return 0;
}
文件结束符:shift+z,再按回车
使用getline读取一整行
string line;
while (getline(cin, line))
cout << line << endl;
读取一整行(包括空格)
string::size_type
无符号类型 如果与int混用可能会带来错误
例如 s.size()<n 如果n为负值,会转换成一个较大的无符号值
auto len=line.size();
3.3.2节练习
1.使用getline读取一整行,使用cin读取一个词
//使用getline读取一整行
string line;
getline(cin, line);//读取一整行
cout << line << endl;