0

次のコードは正常に機能し、ユーザーが適切な量のアイテムを入力したかどうかも確認しますが、入力の末尾に空の行があると失敗します。

string item1, item2, item3;
while(cin.good) {

    //this allows me to both check if user input enough items 
    //EDIT: and if items are of right type so I can cerr
    if (cin >> item1 && cin>> item2 && cin>> item3) {

        doStuff(item1,item2,item3);

    }else {

        cerr<<"bad input! Not enough input items or wrong type"<<endl;

    }

}

末尾に空行がある場合に状況を解決するために、cin.good を別のものに変更できますか? 他のソリューションも受け入れます。

編集: item1 が間違ったタイプの場合、エラーメッセージを確認できないため、 while(cin >> item1) を使用できないことに気付きました。

4

1 に答える 1