请空缓存

原创 2007年10月02日 16:05:00

fflush(stdin);// 清空指定文件流缓冲区

cin.ingore(streamsize_n=1,int_type_delim=traits_type::eof());

cin.clear();  cin.sync();

  cin.ignore(), cin.clear() -> C++
cin.ignore() 是从当前位置忽略若干字符.
cin.clear() 是清除当前缓冲区.
flushall(), fflush() -> C
flushall() 清除所有缓冲区.
fflush() 清除指定的文件流缓冲区.

下面示例程序摘自网络:http://bbs.bc-cn.net/dispbbs.asp?boardID=56&ID=138241

#include <iostream>
using namespace std;
void main()
{
    int a;
    cout<<"输入一个字母:"<<endl;
    cin>>a;                //int型变量中放了char型数据,failbit置1
    cout<<"cin.fail()="<<cin.fail()<<endl;            //输出1
    cout<<"输入一个数字:"<<endl;    //由于failbit值为1,输入流不能正常工作
    cin>>a;                        //故此处的输入无效
    cout<<a<<endl;                //输出不确定值
    cin.clear();                //此处用cin.clear()流标志复位    
    cout<<"cin.fail()="<<cin.fail()<<endl;        //此处failbit已为0
    cout<<"输入一个数字:"<<endl;
    //但刚才输入的字符并没有从流中清除,所以cin>>a又把那个字符放入a中,流输入流又不能正常工作
    cin>>a;
    cout<<a<<endl;    //输出不确定值
    cout<<"cin.fail()="<<cin.fail()<<endl;    //在此处failbit又为1
    cin.clear();            //再次修复输入流
    cin.ignore();            //取走刚才流中的字符
    cout<<"输入一个数字:"<<endl;    //再次接收用记输入,这次输入数字,正常输出了
    cin>>a;
    cout<<"a="<<a<<endl;
    //现在再看一下输入流的failbit
    cout<<"cin.fail()="<<cin.fail()<<endl;//输出0,表明输入流已恢复正常

}

相关文章推荐

谷歌浏览器刷新清空缓存插件

  • 2017年08月29日 09:47
  • 34KB
  • 下载

清空本地DNS缓存

  • 2015年02月09日 10:48
  • 801B
  • 下载

【原创】无缓存数据库下,部门树结构处理--转载请注明出处

1. 数据库设计 我们在工作中经常会用到树型结构的数据,比如公司的部门结构,仓库物品的分类等。一般这些树的结构,都是任意层级的,而非固定的几层结构。此时,我们就要用到树形的数据结构。以下,将会以部门...

清空dns缓存

  • 2017年07月18日 11:21
  • 29B
  • 下载

请大家点评一下这个php浏览器缓存类!!!

请大家点评一下这个php浏览器缓存类!!!服务器并发太高,服务器资源和带宽资源不足时,请记住伟大的浏览器缓存吧!也许你依然不以为然,觉得提高服务器的吞吐量有很多办法,比如在服务器端做缓存,把页面静态化...

清空、重建图标缓存工具

  • 2011年03月29日 20:11
  • 511B
  • 下载

Linux清空内存和磁盘缓存

细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法...
  • fbd2011
  • fbd2011
  • 2012年06月19日 11:17
  • 1514

sqlserver清空缓存

测试中,释放缓存的一些方法  尤其查询语句性能测试时,数据是否被缓存,这是测试中一个重要点。下面几个命令帮助我们清除缓存。方便测试。  清除缓存有关的命令:  SQL 2000里面除了dbcc ...

如何清空linux的DNS缓存

一、Linux下清空DNS缓存 Linux下DNS缓存实现通常有两种方式: 一种是用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存。 一种实现...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:请空缓存
举报原因:
原因补充:

(最多只允许输入30个字)