缓冲区
来源:互联网 发布:凤凰网面试 数据分析 编辑:程序博客网 时间:2024/04/29 12:03
getchar()和putchar()问题
#include "stdio.h"#include "stdlib.h"
main()
{
char c;
c = getchar();
while (c != EOF){
putchar(c);
c = getchar();
}
system ("pause");
}
运行后的结果是:
输入:hello
显示:hello。
但是getchar()这个函数,不是说读入一个字符吗?
比如我上面输入的是hello的话,我觉得正常来说输出应该是hheelllloo,这样显示出来的啊?
哪位帮忙解释下,我这样理解的错误吗?
在这里有点需要说明:当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。
缓冲区的刷新就是将指针_ptr变为缓冲区的基地址 ,同时_cnt的值变为0 ,因为缓冲区刷新后里面是没有数据的!
0 0
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区及缓冲区溢出
- 缓冲区,刷新缓冲区
- 缓冲区问题
- Linux学习杂记
- TIOBE 2014年5月编程语言排行榜:Adobe ActionScript挤进Top20
- nginx配置网站所有目录下文件http认证
- 快速理解 Phoenix : SQL on HBASE
- 深入Python(4):深拷贝和浅拷贝
- 缓冲区
- 黑客
- Android权限之sharedUserId和签名
- 深入理解JVM
- IP和TCP包头校验和计算方法
- linux下的多线程编程
- Java 文件读取的异常处理
- adb的使用
- 搜索引擎反作弊之:整体技术思路