gpt4 book ai didi

c++ - 只是想知道这条线对计算机有什么作用/意味着什么

转载 作者:行者123 更新时间:2023-11-30 02:52:13 25 4
gpt4 key购买 nike

    int value(0);
while (!(std::cin >> value)) { //THIS LINE RIGHT HERE IS BUGGING ME(am really a noob)
cout << "you entered a non-digit character\n";
cin.clear();
cin.ignore();
}

这只是阻止人们输入字母而不是数字,但我想知道它是如何做到的

最佳答案

cin 视为 bool 值可以告诉您它是否处于故障状态。 if ( cin )if ( cin.ok() ) 的简写。因此,只要输入流在接受一些输入后正常,循环就会继续。

获得错误的输入是进入失败状态的一种方式。要退出该状态,请调用 clear(),并忽略有问题的输入,请调用 ignore()。然后你可以再试一次,就像在这个循环中一样。

关于c++ - 只是想知道这条线对计算机有什么作用/意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19147991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com