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