-1
私はいくつかの数字を読んでいます。入力は次のとおりです。Cin読み込みまで ';' cppに見つかりました
1 2 3 4 ; 2 3 4 5 6;
「;私はそれとそれまでの数字で何かしたい。現在、私は以下を使用しています:
しかし、このようにして、cinは ';'
私はいくつかの数字を読んでいます。入力は次のとおりです。Cin読み込みまで ';' cppに見つかりました
1 2 3 4 ; 2 3 4 5 6;
「;私はそれとそれまでの数字で何かしたい。現在、私は以下を使用しています:
しかし、このようにして、cinは ';'
cahrを読んで確認することができます。それが数字でない場合は、あなたが欲しいものを返してください。それ以外の場合は、cin.putback(char)
を使用してcharを戻し、intを読み込みます。
char c;
while (1) {
cin >> c;
if (c < '0' || c >'9') { // is not digit
// do something
return 0;
}
cin.putback(c);
cin >> num;
}
[ 'のstd :: getline'](http://en.cppreference.com/w/cpp/string/basic_string/getline)STD'とともに:: istringstream'はあなたがやりたいようになります – Justin
'std :: cin'が失敗状態にある場合、読み込む次の文字はあなたの例では'; ''になり、' clear() 'を使い' ';'続行するキャラクター。 – user0042
この回答のオプション2を見てください:https://stackoverflow.com/a/7868998/4581301。 'while(std :: getline(infile、line、 ';'))')を指定し、ファイルストリームを 'cin'に置き換える機能を利用してください。 – user4581301