使用标准输入输出操作符读写string对象。
int main()
{
string s;
cin>>s;
cout<<s<<endl;
return 0;
}
这样的话,如果输入字符串带有空格(非字符串首部、尾部),则只能输出空格前部分。
而且,读取并忽略开头所有的空白字符。
读入未知数目的string
string的输入操作符和内置类型的输入操作符一样,也会返回所读的数据流。因此,可以把输入操作作为判断条件:
int main()
{
string s;
while(cin>>s)
cout<<s<<endl;
return 0;
}
当未到达文件尾且未遇到无效输入,则执行循环体,并将读取到的字符串输出到标准输出。如果到达文件尾,则跳出while循环。
使用getline读取整行文本
getline(cin,strings);
getline从输入流的下一行读取,并保存读取的内容到string中,但不包括换行符。即便它是第一个字符,也会终止读入,并返回。
int main()
{
string s;
while(getline(cin,s))
cout<<s<<endl;
return 0;
}