缓冲区与输入输出
2016-04-24 13:13
218 查看
关于缓冲区(buffer)
缓冲区里保留所有从键盘打入的键,包括空格,空白键,回车。当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在缓冲区中并且被当成一个字符来计算。
e.g. 我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。
一些函数
gets( )读一行字符串,包括前后中间的 空格,空白,....
scanf(“%d”,&k)和 scanf(“%d\n”,&k)
后者可以吃掉一个 Enter 键
getchar( )
从缓冲区读走一个字符,相当于清除缓冲区
fflush(stdin);
清除输入缓冲区
so you can do like this : scanf(…); fflush(stdin); or getchar( ) 再 gets( );
相关文章推荐
- Hibernate连接各种数据库的配置
- 幻数浅析(Magic Number)
- 第八周学习进度
- hadoop程序开发之——ssh服务安装、启动
- 新开终端无法运行ruby rails需要bash login解决办法
- Tricks(三十九)—— 使用 list comprehension 构造笛卡尔积
- Java IO流总结(1)
- 定时器的使用NStimer 和CADisplayLink
- Cannot update object that was never inserted
- 一键清除系统垃圾
- 读写配置文件代码块
- percona-toolkit 之 【pt-online-schema-change】说明
- 恶作剧之恶搞男朋友
- [android] 新闻客户端引入SlidingMenu
- 【结构型模式】组合模式(Composite)之23种java设计模式
- 编程之美BOF 16初赛告捷
- ArcGIS server开发之API for js 本地部署
- POJ 3061 Subsequence(尺取法)
- 第9周项目2506: 切面条
- 笔记:Activity生命周期