ホームページ >バックエンド開発 >C++ >C での数値入力を効果的に検証するにはどうすればよいですか?

C での数値入力を効果的に検証するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-19 15:22:02593ブラウズ

How to Validate Numeric Input in C   Effectively?

C での数値入力の検証

データ入力プログラムでは、ユーザー入力を検証して特定のデータ型に準拠していることを確認することが重要です。 C の一般的な課題の 1 つは、入力が整数の範囲内にあるかどうかを検証することです。

while ループを使用して文字を反復処理し、文字が数値であるかどうかを確認する入力検証の現在のアプローチは不完全です。ただし、解決策は入力ストリーム (cin) のエラー処理機能を利用することにあります。

cin は無効な入力に遭遇すると、フェイルビット フラグを設定します。このフラグを使用すると、次の手順に従うことができます:

  1. cin.fail() または if (!cin) を使用して、cin でエラーが発生したかどうかを確認します。
  2. エラー。cin.clear() を使用してフェイルビットをクリアします。
  3. cin.ignore(std::numeric_limits::max(), 'n') を使用して無効な入力を破棄して読み取ります
  4. 有効な整数を再入力するようにユーザーにプロンプ​​トを表示します。

cin のエラー状態を捕捉して処理することで、次のことを保証できます。ユーザーが無効な入力を行った場合でも、プログラムは正常に実行され続けます。このアプローチにより、C でのより堅牢でユーザーフレンドリーなデータ検証が可能になります。

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

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