目录
1 fprintf
fprintf和printf的区别:
数据流向都是 程序->缓冲区
缓冲区不一样,fprintf的缓冲区是普通文件流,printf的缓冲区是标准输出
2 fscanf
fscanf和scanf的区别:
数据流向都是 缓冲区->程序
缓冲区不一样,fscanf的缓冲区是文件流
都是遇到’\n’停止读缓冲区
用法:
文件每行的格式:学号\t 姓名\t 性别\t 分数 1\t 分数 2\t 分数 3\n
typedef struct stu
{
int num;
char name[100];
char gender;
int score1;
int score2;
int score3;
}Stu_t,*pStu_t;
while (!feof(fp))
{
pStu_t p = (pStu_t) calloc(1 , sizeof(Stu_t));
fscanf(fp , "%d\t%s\t%c\t%d\t%d\t%d" , &p->num , p->name , &p->gender , &p->score1 , &p->score2 , &p->score3);
}
3 fopen
4 fread
5 fwrite
6 fseek
7 fgets
按行读取
8 fputs
按行写入
9 feof
用于判断是否到达文件尾
10 fclose
11 fflush
就是把文件缓冲区的内容写回到磁盘。因为要多次读写磁盘,尽量少用
除了fflush可以写回磁盘,以下操作也可以:
文件流满的时候也会自动执行写回磁盘操作
执行fclose也会把缓冲区的内容写回磁盘
12 ftell
ftell(fp):显示文件当前读写指针位置