2013-09-22 216 views
0

我似乎無法拆分我的字符串與空格分隔符。從輸入流分割字符串與空白分隔符

我試過使用getline(cin,myString)。

I輸入字符串爲 「10 20 30」,當我打印字符串到輸出流中,我得到 「20 30」,而不是10

我還嘗試了同時(CIN >>串)。它在這裏工作,但while循環永遠不會終止。

任何幫助表示讚賞。

+1

請問你能展示你的代碼嗎? – P0W

回答

1

您可以使用istringstream

string str; 
getline(cin, str); 
istringstream ss(str); 

for(string word; ss >> word;) 
    cout << word << endl; 

 

while(cin >> str);不會停止,除非:

  1. 東西在>>這是很難在你的情況下失敗。

  2. EOF時(可以使用按Ctrl + ž按Ctrl + dF6這取決於你的系統)

  3. 用戶定義的條件:if(str.find('\n')) break;

+0

即使有機會輸入輸入,For循環也會被觸發 – TeodorKolev