正在加载图片...
1344格式化读写函数 fscanf和 fprintf fscanf函数, fprintf函数与前面使用的 scanf和 printf函数的功能相似,都是格式 化读写函数。两者的区别在于 fscanf函数和 fprintf函数的读写对象不是键盘和显示器,而 是磁盘文件 这两个函数的调用格式为: fscanf(文件指针,格式字符串,输入表列) fprintf(文件指针,格式字符串,输出表列) 例如 fscanf(fp, "%d%s",&i, s) fprintf(fp, %d%c", j, ch) 用 fscanf和 fprintf函数也可以完成例10.6的问题。修改后的程序如例10.7所示 【例13.7】用 fscanf和 fprintf函数成例10.6的问题。 finc lude<stdio. h truct stu char name [10] Int num char addr[15] I boya[2, boy[2], *pp *qg mall FILE * fp char ch int 1: qg=boy if((fp=fopen("stu list","wb"))==NULL) printf (" cannot open file strike any key exit! " cho exit(1) printf( \input data\n") for(i=0;i<2;i++,pp++) canf("%s%d%d%s", pp->name, &pp->num, &pp->age, pp->addr) for(i=0;i<2;i+,pp++) fprintf (fp, %s %d %d %s\n", pp->name, pp->num, pp->age, pp-> rewind(fp) for(i=0;i<2;i++,qq++)13.4.4 格式化读写函数 fscanf 和 fprintf fscanf 函数,fprintf 函数与前面使用的 scanf 和 printf 函数的功能相似,都是格式 化读写函数。两者的区别在于 fscanf 函数和 fprintf 函数的读写对象不是键盘和显示器,而 是磁盘文件。 这两个函数的调用格式为: fscanf(文件指针,格式字符串,输入表列); fprintf(文件指针,格式字符串,输出表列); 例如: fscanf(fp,"%d%s",&i,s); fprintf(fp,"%d%c",j,ch); 用 fscanf 和 fprintf 函数也可以完成例 10.6 的问题。修改后的程序如例 10.7 所示。 【例 13.7】用 fscanf 和 fprintf 函数成例 10.6 的问题。 #include<stdio.h> struct stu { char name[10]; int num; int age; char addr[15]; }boya[2],boyb[2],*pp,*qq; main() { FILE *fp; char ch; int i; pp=boya; qq=boyb; if((fp=fopen("stu_list","wb+"))==NULL) { printf("Cannot open file strike any key exit!"); getch(); exit(1); } printf("\ninput data\n"); for(i=0;i<2;i++,pp++) scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr); pp=boya; for(i=0;i<2;i++,pp++) fprintf(fp,"%s %d %d %s\n",pp->name,pp->num,pp->age,pp-> addr); rewind(fp); for(i=0;i<2;i++,qq++)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有