首頁 > 後端開發 > 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 函數可用於讀取使用者輸入,但在嘗試驗證輸入是否有效時會出現問題數字。當輸入非數字字元時會出現此問題,可能會為下一次迭代留下部分輸入。

一個解決方案是利用 std::getline 和 std::string 讀取整行輸入。隨後,使用 std::stringstream 來解析輸入並提取雙精度值。循環繼續,直到整行可以成功轉換為雙精確度,消除剩餘輸入的問題。

#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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板