0

文字列を空白区切り文字で分割できないようです。

getline(cin, myString) を使ってみました。

文字列を「10 20 30」として入力すると、文字列を出力ストリームに出力すると、「20 30」が得られますが、10 は得られません。

while(cin >> string) も試してみました。ここでは機能しますが、while ループは決して終了しません。

どんな助けでも大歓迎です。

4

1 に答える 1

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+ ZCtrl+Dを使用できF6ます。システムによって異なります)

  3. ユーザー定義の条件:if(str.find('\n')) break;

于 2013-09-22T06:53:13.083 に答える