其它I\O函数介绍(一)
- fflush
- ftell
- ungetc
- fseek
- setbuf
一、fflush
1.定义
函数名:fflush
功 能: 清除读写缓冲区,需要立即把输出缓冲区的数据进行物理写入时。
头文件:stdio.h
原型:int fflush(FILE* pf)
2.例子演示
//先看这个简单程序
#include <stdio.h>
int main()
{
char a;
scanf("%c", &a);
printf("%d\n", a);
scanf("%c", &a);
printf("%d\n", a);
return 0;
}
//运行这个程序,输入2,按enter键得到结果:
//2
//50
//10
//请按任意键继续. . .
//分析:这个结果很正常的,字符1对应的ASCII值刚好为49, enter键对应的ASCII值为10,
//可以看出,第二个scanf函数执行了,并从缓冲区中得到了值(其实,这个值不是我们想要的)
//想要得到我们需要的,就要使用fflush函数
#include <stdio.h>
int main()
{
char a;
scanf("%c", &a);
printf("%d\n", a);
fflush(stdin);
scanf("%c", &a);
printf("%d\n", a);
return 0;
}
//运行结果:
//2
//50
//2
//50
//请按任意键继续. . .
二、 ftell
1.定义
函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。