请空缓存

原创 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,表明输入流已恢复正常

}

缓存空对象的使用

缓存空对象是一种用空间换其他资源(时间、IO、CPU)的技术,可以有效的防止数据库被击穿,并一度程序上减少恶意攻击(特别是将Cache做到client本地)。      普通使用缓存的场景是,将请求从...
  • Troy__
  • Troy__
  • 2014年11月05日 19:59
  • 1557

关于融云(设置用户信息的提供者)异步请求 图片加载问题

使用融云第三方即时聊天日常: 设置用户信息的提供者,供 RongIM 调用获取用户名称和头像信息 方法: RongIM.setUserInfoProvider(new RongIM.UserInfo...
  • u013767209
  • u013767209
  • 2016年04月27日 12:40
  • 808

Shiro学习笔记(6)——shiro缓存

缓存每一次给用户授权时,都是通过realm从数据库中查询权限,为了避免频繁的查询数据库,shiro给我们提供了缓存的能力用户认证通过后: 第一次授权:通过realm从数据库中查询 第二次授权:直接...
  • u010837612
  • u010837612
  • 2016年03月02日 17:53
  • 4985

CFormView::OnSize 控件句柄为空!!!

参考:http://bbs.csdn.net/topics/390199922 CFormView::OnSize 控件句柄为空!!! 获取控件的区域时 CRect rcQuery;...
  • lys07962000
  • lys07962000
  • 2015年01月04日 14:47
  • 846

微信-Android 浏览器刷新有缓存?

前端刷新网页的方法有很多种:1:history.go(0) 浏览器的history对象,go 跳转到指定位置的页面。2:location.reload(true); 重新渲染当前页面,参数为真时是...
  • wmzy1067111110
  • wmzy1067111110
  • 2017年06月23日 18:10
  • 217

Scanf 请缓存!

fflush(stdin);的行为是未定义的,C标准没有规定这种东西。你最好用int c;while ( (c = getchar()) != '/n' && c != EOF ) ;否则一换编译环境...
  • qwangwei1231
  • qwangwei1231
  • 2011年03月21日 12:23
  • 112

缓存管理器是什么

缓存管理器 Windows 的缓存管理器是一组内核模式的函数和系统例程,为所有的Windows文件系统驱动程序提供了系统缓存的能力。   Windows 缓存管理器按照虚拟地址为基础来缓存数据,...
  • qq_18218335
  • qq_18218335
  • 2017年03月28日 20:09
  • 415

关于高德地图iOS apiKey为空或位数不合要求,请正确设置

打印出来apiKey为空或位数不合要求,请正确设置。 1.首先检查 高德开发者上面注册的 bundle 跟项目里的bundle identifer是否一致的.  2.那就是你  [AMapS...
  • ximiaoweilai
  • ximiaoweilai
  • 2016年12月15日 14:04
  • 779

关于使用LocationManager时遇到的问题

在使用下面这行代码的时候,android studio提示Call requires permission which may be rejected by user  Location locati...
  • ppppp666
  • ppppp666
  • 2016年11月29日 20:05
  • 364

phpcms清空缓存,重建索引方法

phpcms搜索不能重新生成缓存问题 一直纠结的问题得以解决。 在不同环境下搜索缓存不能生成,我的解决方案是: 第一步:删除已经生成缓存文件 路径:/search/data/news 提示:在/...
  • ybds88
  • ybds88
  • 2013年01月12日 22:14
  • 1084
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:请空缓存
举报原因:
原因补充:

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