连续读入字符串的问题!!!

来源:百度知道 编辑:UC知道 时间:2024/09/22 03:02:28
string s;
cin>>s;
while(s!='\n')//!=未定义!那我想连续读入字符串知道遇回车结束怎么办

如果你是需要将一行带空格的输入文分别一个一个读取,例如输入“abc def ghi”第一次读abc 第二次读def 第三次读ghi 然后停下
可以试试我写的代码,测试可用!

#include <iostream>
#include <string>
using namespace std;

int main()
{
string s;
char nothing;
do
{
cin>>s;
cin.get(nothing);
cout<<s<<endl;
}while(nothing!='\n');
return 0;
}

#include <iostream>
#include <string>
using namespace std;

int main()
{
string s;

while(getline(cin,s))
cout<<s<<endl;
return 0;
}

....getline函数遇见回车键结束输入。
用cin的问题是cin遇见空格也结束输入。
。。 但用getline虽然与回车键结束输入,但要你回车两下才会结束。

string s;
cin>>s;
//while()
其实你根本就不用判断s!='\n'.
在C和C++中在输入字符串时只要打回车,就自动停止了.

string s;
do
{
cin>>s;
}
while(s!='\n');