C/C++ 误区二:fflush(stdin)
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-29
。*/ printf("%d\n", i); } return 0; } /* C++ 版本 */ #include <iostream> #include <limits> // 为了 使用numeric_limits using std::cout; using std::endl; using std::cin; using std::numeric_limits; using std::streamsize; int main() { int value; for ( ; ; ) { cout << "Enter an integer: "; cin >> value; if ( cin.eof() || cin.bad() ) { // 如果用户输入文件结束标志(或文件已被读完), // 或者发生读写错误,则退出循环 // do something break; } // 读到非法字符后,输入流将处于出错状态, // 为了继续获取输入,首先要调用 clear 函数 // 来清除输入流的错误标记 ,然后才能调用 // ignore 函数来清除输入流中的数据。 cin.clear(); // numeric_limits<streamsize>::max() 返回输 入缓冲的大小。 // ignore 函数在此将把输入流中的数据清空。 // 这两个函数的具体用法请读者自行查询。 cin.ignore( numeric_limits<streamsize>::max(), ''\n'' ); cout << value << ''\n''; } return 0; } |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: C++学习摘要之三:继承和派生下一篇: C++学习摘要之四:虚函数和多态
关于C/C++ 误区二:fflush(stdin)的所有评论