• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cinで、異なる型のデータが入力された時の対処法)

cinで、異なる型のデータが入力された時の対処法

このQ&Aのポイント
  • C++のcinストリームで指定した変数の型とは異なる型のデータが入力された時に、再びデータを入力するように促すC++プログラムを作成しました。
  • ビルドした実行ファイルはWindows7で正常に動作しましたが、Cygwinの環境ではうまく動作しなかったため困っています。
  • BCCのbcc32コマンドではエンコーディングシステムはSJISしか扱えず、CygwinのbashはUTF-8環境で設定されているため、エンコーディングの違いが問題かもしれません。

質問者が選んだベストアンサー

  • ベストアンサー
  • koakino
  • ベストアンサー率44% (22/50)
回答No.1

cin.clear()はエラーをクリアするメソッドです。 これだけではバッファはクリアされないのでおかしなことになります。 例えば次の方法があります。 if(cin.good()==0){ cout<<"整数値以外のデータが入力された。"<<endl; cin.clear(); cin.ignore(256, '\n'); continue; }

MetalLover
質問者

お礼

御回答ありがとうございます。 おかげで解決できました。

すると、全ての回答が全文表示されます。

関連するQ&A