私は C++ ゲームを作成していますが、ある時点でユーザーは int を入力する必要があります。プレイヤーが char を入力すると、ゲームが異常終了します。
このグリッチが何であるかを理解する代わりに、プレーヤーが文字を入力したかどうかを感知し、そこから解決したいと考えています。
私は C++ ゲームを作成していますが、ある時点でユーザーは int を入力する必要があります。プレイヤーが char を入力すると、ゲームが異常終了します。
このグリッチが何であるかを理解する代わりに、プレーヤーが文字を入力したかどうかを感知し、そこから解決したいと考えています。
cin を使用して入力を取得している場合、最も簡単な解決策は次のとおりです。
int input;
cin >> input;
if (!cin)
//handle char not being an int
//continue
この背後にあるトリックは、入力を適切な型に変換できない場合、cin が実際に失敗状態になることです。ただし、ゲームの動作方法と入力のコンテキストによっては、これでは不十分な場合があります。cin を使用していない場合は、使用しているストリームが同じ動作をするかどうかを確認する必要があります。
どの形式の入力を使用しているかはわかりませんが、コンソール ベースの場合は、次の方法が役立つ場合があります。