Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;将用户输入的字符串句子存储到向量中 我是C++初学者,目前是学习向量。下面是一个简单的代码,程序获取用户输入并将其存储在向量中,然后继续打印每个元素的存储值: int main(){ vector<string> myVector; string myInput; int n; cin>>n; cin.ignore(numeric_limits<streamsize>::max(),'\n'); for(int i = 1; i <= n;i++){ cout<<"loop count: "<<i<<endl; //added for checking the current loop getline(cin, myInput); cin.ignore(numeric_limits<streamsize>::max(),'\n'); myVector.push_back(myInput); } for(unsigned int j = 0;j < myVector.size(); j++){ cout<<myVector[j]<<endl; } return 0; }_C++ - Fatal编程技术网

C++;将用户输入的字符串句子存储到向量中 我是C++初学者,目前是学习向量。下面是一个简单的代码,程序获取用户输入并将其存储在向量中,然后继续打印每个元素的存储值: int main(){ vector<string> myVector; string myInput; int n; cin>>n; cin.ignore(numeric_limits<streamsize>::max(),'\n'); for(int i = 1; i <= n;i++){ cout<<"loop count: "<<i<<endl; //added for checking the current loop getline(cin, myInput); cin.ignore(numeric_limits<streamsize>::max(),'\n'); myVector.push_back(myInput); } for(unsigned int j = 0;j < myVector.size(); j++){ cout<<myVector[j]<<endl; } return 0; }

C++;将用户输入的字符串句子存储到向量中 我是C++初学者,目前是学习向量。下面是一个简单的代码,程序获取用户输入并将其存储在向量中,然后继续打印每个元素的存储值: int main(){ vector<string> myVector; string myInput; int n; cin>>n; cin.ignore(numeric_limits<streamsize>::max(),'\n'); for(int i = 1; i <= n;i++){ cout<<"loop count: "<<i<<endl; //added for checking the current loop getline(cin, myInput); cin.ignore(numeric_limits<streamsize>::max(),'\n'); myVector.push_back(myInput); } for(unsigned int j = 0;j < myVector.size(); j++){ cout<<myVector[j]<<endl; } return 0; },c++,C++,输出: we are no time we are 你有没有试着把cin.clear()放进去;cin.sync();在getline函数之前?当您同时使用cin和getline时,它们会给您带来问题。您是否尝试放置cin.clear();cin.sync();在getline函数之前?cin和getline在同时使用时会给您带来问题。问题在于循环内的调用 将默默地吃掉尾随的换行符,但由于您随后调用了ignore,因此必须输入第二行以满足ignore的要求 只需从循环中删除ignore调用,它

输出:

we are
no time
we are

你有没有试着把cin.clear()放进去;cin.sync();在getline函数之前?当您同时使用cin和getline时,它们会给您带来问题。

您是否尝试放置cin.clear();cin.sync();在getline函数之前?cin和getline在同时使用时会给您带来问题。

问题在于循环内的调用

将默默地吃掉尾随的换行符,但由于您随后调用了
ignore
,因此必须输入第二行以满足
ignore
的要求

只需从循环中删除
ignore
调用,它就会按照您的预期工作。

问题在于循环中的调用

将默默地吃掉尾随的换行符,但由于您随后调用了
ignore
,因此必须输入第二行以满足
ignore
的要求


只需从循环中删除
ignore
调用,它就会像您预期的那样工作。

关于您的问题,您能告诉我们您为程序提供的输入以及实际和预期的输出吗?请花点时间。获取整行内容(包括空格)。空格是字符串中的一个完全有效的字符……至于你的问题,你能告诉我们你给程序的输入,以及实际和预期的输出吗?请花点时间。获取整行内容(包括空格)。空格是字符串中的一个完全有效的字符…谢谢!它实际上解决了这个问题。另外,谢谢你解释为什么会发生谢谢!它实际上解决了这个问题。另外,谢谢你解释为什么会这样
we are
no time
we are