我似乎无法用空白分隔符拆分我的字符串。
我尝试使用getline(cin,myString)。
我输入字符串为“10 20 30”,当我将字符串打印到输出流时,我得到“20 30”,但不是10。
我也尝试过while(cin>>字符串)。它在这里工作,但while循环永远不会终止。
感谢任何帮助。
答案 0 :(得分:1)
您可以使用istringstream
:
string str;
getline(cin, str);
istringstream ss(str);
for(string word; ss >> word; )
cout << word << endl;
您的while(cin >> str);
不会停止,除非:
>>
中的某些内容失败,这对你来说很难。
发生EOF(您可以使用 Ctrl + Z , Ctrl + D , F6 这取决于您的系统)
用户定义的条件:if(str.find('\n')) break;