ホームページ > バックエンド開発 > C++ > C で `cin` を使用して数値を確実に入力する方法

C で `cin` を使用して数値を確実に入力する方法

Linda Hamilton
リリース: 2024-12-16 16:22:10
オリジナル
290 人が閲覧しました

How to Reliably Input Numbers Using `cin` in C  ?

cin による数値入力のトラブルシューティング

C では、 cin 関数を使用してユーザー入力を読み取ることができますが、入力が有効であるかどうかを検証しようとすると問題が発生します。番号。この問題は、数値以外の文字が入力された場合に発生し、部分的な入力が次の反復に残される可能性があります。

解決策の 1 つは、std::getline と std::string を利用して入力行全体を読み取ることです。その後、std::stringstream を使用して入力を解析し、double 値を抽出します。ループは、行全体が double に正常に変換され、入力の残りの問題がなくなるまで継続されます。

#include <string>
#include <sstream>

int main()
{
    std::string line;
    double d;
    while (std::getline(std::cin, line))
    {
        std::stringstream ss(line);
        if (ss >> d)
        {
            if (ss.eof())
            {   // Success
                break;
            }
        }
        std::cout << "Error!" << std::endl;
    }
    std::cout << "Finally: " << d << std::endl;
}
ログイン後にコピー

以上がC で `cin` を使用して数値を確実に入力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート