ホームページ  >  記事  >  バックエンド開発  >  C で数値入力の検証を確実に行うにはどうすればよいですか?

C で数値入力の検証を確実に行うにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-15 21:13:02555ブラウズ

How to Ensure Numeric Input Validation in C  ?

C での数値入力検証の確保

数値精度を確保するためにユーザー入力を検証することは、C では困難な場合があります。この問題に対処するには、整数入力を受け入れ、入力が提供されない場合は終了するプログラムが求められます。

メソッド:

数値入力を検証し、空の入力を処理するには、次のアプローチは推奨:

int n;
cin >> n;
if (!cin) // or if(cin.fail())
{
    // No input or invalid input
    cin.clear(); // Reset failbit
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Skip bad input
    cout << "Invalid input. Please enter an integer: "; // Request reinput
}

説明:

  • cin は無効な入力 (数字以外の文字など) に遭遇すると、フェイルビット フラグを設定します。
  • cin.clear() はフェイルビットをリセットし、プログラムが続行します。
  • cin.ignore() は、さらなる入力エラーを防ぐために残りの入力バッファを破棄します。
  • ユーザーに整数の再入力を要求するメッセージが表示されます。

このメソッドは、入力を継続的に検証し、空の入力ケースを処理することにより、整数入力の処理におけるプログラムの正しい機能を保証します。

以上がC で数値入力の検証を確実に行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。