清出c++程序中的错误的信息即清除缓存

int fflush(FILE *stream);

If stream points to an output stream or an update stream in which
the most recent operation was not input, the fflush function causes
any unwritten data for that stream to be delivered to the host environment
to be written to the file; otherwise, the behavior is undefined.

清空输入缓冲区的方法:

可以自己写代码来清空输入缓冲区。只需要在 scanf 函数后面加上几句简单的代码就可以了。

#include <iostream>
        #include <limits>// 为了使用numeric_limits

     using namespace std;

     using std::numeric_limits;
        using std::streamsize;

     int main()
        {
            int value;
            for ( ; ; )
            {
                cout << "Enter an integer: ";
                cin >> value;
                if ( cin.eof() || cin.bad() )
                {
// 如果用户输入文件结束标志(或文件已被读完),
                  //
或者发生读写错误,则退出循环

break;
                }
               
// 读到非法字符后,输入流将处于出错状态
                //
为了继续获取输入,首先要调用 clear 函数
                //
清除输入流的错误标记,然后才能调用
                // ignore
函数来清除输入流中的数据。
                cin.clear();
               
// numeric_limits<streamsize>::max() 返回输入缓冲的大小。
                // ignore
函数在此将把输入流中的数据清空。

             cin.ignore(sed::numeric_limits<streamsize>::max(), '\n' );

                cout << value << '\n';
            }

         return 0;
        }

清除程序中的错误信息。就还有很多的方法,但是以上代码段较为简单。若是你学的c没有学c++也可以改编。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值