【发布时间】:2013-09-22 06:49:49
【问题描述】:
我似乎无法用空格分隔符分割我的字符串。
我尝试使用 getline(cin, myString)。
我将字符串输入为“10 20 30”,当我将字符串打印到输出流时,我得到“20 30”,但不是 10。
我也尝试了 while(cin >> string)。它在这里工作,但 while 循环永远不会终止。
感谢任何帮助。
【问题讨论】:
-
能否请您出示您的代码?
标签: c++
我似乎无法用空格分隔符分割我的字符串。
我尝试使用 getline(cin, myString)。
我将字符串输入为“10 20 30”,当我将字符串打印到输出流时,我得到“20 30”,但不是 10。
我也尝试了 while(cin >> string)。它在这里工作,但 while 循环永远不会终止。
感谢任何帮助。
【问题讨论】:
标签: c++
你可以使用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;
【讨论】: