C++ 在while循环中调用getline(cin,str)时遇到问题
我正在使用C++ 在while循环中调用getline(cin,str)时遇到问题,c++,C++,我正在使用 getline(cin , inputStr); // where string = inputStr; 从字符串类型的用户获取输入。代码运行得很好。但现在不知何故,在一个while循环中,它没有被调用。也就是说,编译器似乎跳过了这一部分 但是光是str就可以了。有什么建议吗 注释中的代码: int num, choice; string inputStr=""; while(1) { cout<<"1) Search \n"; cout<&
getline(cin , inputStr); // where string = inputStr;
从字符串类型的用户获取输入。代码运行得很好。但现在不知何故,在一个while循环中,它没有被调用。也就是说,编译器似乎跳过了这一部分
但是光是str就可以了。有什么建议吗
注释中的代码:
int num, choice;
string inputStr="";
while(1)
{
cout<<"1) Search \n";
cout<<" EXIT\n";
cout<<"Choose your choice : ";
cin >> choice;
switch(choice)
{
case 1:
cout<<"word for search\n";
getline(cin, str);
cout<< str <<endl;
return 0;
//just checking whether this commands work or not.
}
else
{
return 0;
}
.......// there is 300 lines of code still there
int-num,选项;
字符串inputStr=“”;
而(1)
{
cout问题在于cin>>choice;
将换行保留在输入流中,因此getline(cin,str);
会立即返回该换行
尝试在cin>>选项之后添加cin.ignore();
以使用换行符。问题是cin>>选项;
将换行保留在输入流中,因此getline(cin,str);
立即返回该换行符
尝试添加cin.ignore()
在选择cin>>之后;
使用换行符。代码是机密的。您需要向我们展示您正在使用的代码。很抱歉,我不能。但是是否有其他命令可以将字符串作为用户的输入???您如何知道编译器跳过了该部分?@AzkaAhmad如果您不能..那么很抱歉we帮不了你。这可能与while循环的终止条件有关。你能发布相关部分,可能是整个程序代码吗?代码是否机密。你需要向我们展示你正在使用的代码。很抱歉,我不能。但是有没有其他命令可以将字符串作为用户的输入???你怎么知道编译器没有跳过那部分吗?@AzkaAhmad如果你不能..那么很抱歉我们帮不了你这可能与while循环的终止条件有关。你能发布相关的部分,可能是整个程序代码吗?它工作了..谢谢looooottttttttttttt..!!!!它工作了..谢谢looootttttttt。。。。。。。!!!!