#include <stdio.h>
int main(){
FILE* file;
char buf[1024], ch;
file = fopen("test", "r+");//打开文件
//设置缓存
setvbuf(file, buf, _IOFBF, sizeof(buf));
fgets(buf, sizeof(buf), file);//读取一整行
ch = fgetc(file);//读取单个字符
ungetc(ch, file);//把一个字符放回流中
fread(buf, 1, 5, file);//读取二进制数据
fwrite(buf, 1, 5, file);//写入二进制数据
fputc('g', file);//写入一个字符
fputs("ggzwtj", file);//写入一个字符串
//跳转之fseek
fseek(file, 0, SEEK_SET);
fgets(buf, sizeof(buf), file);
puts(buf);
//初始为开始位置
rewind(file);
//取得当前流的位置
printf("%ld\n", ftell(file));
//刷新一个流,保证内容写入内核
fflush(file);
//锁定(解锁,尝试锁)文件
flockfile(file);
ftrylockfile(file);
funlockfile(file);
//取得文件的描述符
printf("%d\n", fileno(file));
fcloseall();
return 0;
}