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