有时候我们使用fwrite时候写文件会比较混乱,这里使用fprintf写文件,fscanf读取文件,这样写出来的文件可读性就好很多了,下面简单的写一个小栗子玩玩
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
FILE *fp;
int i = 0;
fp = fopen("stu.txt","a+");
if(fp == NULL)
{
perror("fopen fail\n");
exit(1);
}
char name[][20] = {"lilei","hanmeimei","bowen"};
char cname[20];
int age[] = {22,24,21};
int uage;
for (i = 0; i < 3; ++i)
{
fprintf(fp,"%s %d\n",name[i],age[i]); //把几条记录写到文件里
}
fseek(fp, 0, SEEK_SET); //把写指针移到开始的地方
for (i = 0; i < 3; ++i)
{
fscanf(fp,"%s %d",cname,&uage); //读取到变量里
printf("name = %s , age = %d\n",cname,uage);
}
fclose(fp); //关闭文件
return 0;
}