C语言文件p的pt
● 格式读函数一般形式为 fscanf(文件指针,格式控制,地址表) 从指定的文件中按格式读数据。 必须指出的是,fprintf() 函数与fscanf()函数是对应的,即在使用 fscanf()函数从文件读数据时,其格式应与用fprintf()函数将数据写到文件 时的格式一致,否则将会导致读写错误。 功能 格式化写数据到指定的文件中。 功能 ● 格式写函数一般形式为 fprintf(文件指针,格式控制,输出表) 例: fprintf(fp,”%d,%6.2f”,i,t); fscanf (fp,”%d,%f”,&i,&t); 3.格式读写函数fscanf()和fprintf() #include #include typedef struct Character { char name[32]; int age; char skill[32]; } CHARACTER; int main() { FILE *fp; char *in_file_name = "swordsman.txt"; CHARACTER tmp; fp = fopenfun(in_file_name, "w"); scanf("%s", tmp.name); while(strcmp(tmp.name, "*" )!=0) { scanf("%d %s", &tmp.age, tmp.skill); fprintf(fp, "%s %d %s\n", tmp.name, tmp.age, tmp.skill); scanf("%s", tmp.name); } fclose(fp); return 0;} 例10:从键盘输入剑客档案资料,包括姓名,年龄和技能三项内容,将它们写入swordsman.txt文件中保存,当输入"*"时停止输入。 FILE *fopenfun(char *file,char *model) { FILE *fp; if ( ( fp = fopen (file, model) ) == NULL ) { printf ("Cannot open file of %s.\n",file); exit (0); } else return fp; } #include #include typedef struct Character { char name[32]; int age; char skill[32]; } CHARACTER; int main() { FILE *fp; char *in_file_name = "swordsman.txt"; CHARACTER tmp; fp = fopenfun(in_file_name, "r"); while( !feof(fp) ) { fscanf(fp,"%s %d %s",tmp.name,&tmp.age, tmp.skill); printf("%s %d %s\n", tmp.name, tmp.age, tmp.skill); } fclose(fp); return 0; } 例11 将上题所写的文件读出显示在屏幕上。 FILE *fopenfun(char *file,char *model) { FILE *fp; if ( ( fp = fopen (file, model) ) == NULL ) { printf ("Cannot open file of %s.\n",file); exit (0); } else return fp; } 其中:buffer 输出数据的首地址。 size 每个数据项的字节数。 count 数据项个数。 fp 文件类型指针,指向已打开的文件。 文件的读写操作 8.3 8.3.2 二进制文件读写函数 1.数据块读写函数fread()和fwrite() ● 数据块写函数一般形式为 fwri