C++ 输入字符串 怎么实现回车键表示输入结束

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string str;
vector<string> svec;
char ch;
while (cin>>str&&str!="#")
{
svec.push_back(str);
}
for (vector<string>::size_type ix=0;ix!=svec.size();ix++)
{
cout<<svec[ix]<<" ";
}
return 0;
}
这种需要输入特定的文件结束符,怎样实现将回车键作为结束的标志直接执行下面的程序

第1个回答  2013-10-28
你真神奇............cin会自动过滤空格和回车的.............你到底想在向量里存什么? 单个字符还是一个个字符串?追问

新手见笑了,我是想存一个个字符串,然后以回车键作为循环结束的标志,就是说存上一整行的字符串。好像这种判断cin存取的方法不能实现。

追答

如果你是要在文件输入输出流里实现 那很简单
string i;
while (!feof(stdin))
{
cin>>i;
svec.push_back(str);

}

如果你不是的话
vector str;
string i;
char flag=48;
while (flag!=10 && flag!=13)
{
cin>>i;
flag=getchar();
str.push_back(i);
}
测试可行 每个string 用空格隔开 最后一个用回车 没问题

本回答被提问者采纳
相似回答