非缓冲:不需要flush函数刷新,直接从缓冲区自动补上了
#include<stdio.h>
#include<stdlib.h>
int main(){
printf( "%d
", *(stdin ->_ptr)); //打印换成区内容 -> 0
printf( "%d
", stdin ->_cnt);//缓冲区还有多少个字节
char ch = getchar(); //输入123 会把1提走 缓冲区剩余23 注意缓冲区大小为3 因为末尾有回车
printf( "%p
", stdin ->_ptr);
printf( "%c
", *(stdin ->_ptr));
printf( "%d
", stdin ->_cnt);
char ch2 = getchar(); //会把2提走 缓冲区剩余3 注意缓冲区大小为2 因为末尾有回车
printf( "%p
", stdin ->_ptr);
printf( "%c
", *(stdin ->_ptr));
printf( "%d
", stdin ->_cnt);
system( "pause");
return 0;
}
全缓冲:读取文件的时候,需要flush函数刷新