新手求助~编程入门问题~
题目:文件操作设计及实现总体设计:设计实现对文件 file.txt的读取,插入和增加的功能;
要求: (1)实现对文件中的整行读取和写入(不可用fscanf,fprintf函数,只可以fread和fwrite)
(2)实现文件中间插入一段话--------这是一个测试;
(3)实现对文件的创建,文件写入和添加;
从键盘输入两个学生数据,写入一个文件中,再读出这两个学生的数据显示在屏幕上。 #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, press 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; fwrite(pp,sizeof(struct stu),2,fp); rewind(fp); fread(qq,sizeof(struct stu),2,fp); printf("\n\nname\tnumber age addr\n"); for(i=0;i<2;i++,qq++) printf("%s\t%5d%7d %s\n",qq->name,qq->num,qq->age,qq->addr); fclose(fp); }第二个:
在学生文件stu_list中读出第二个学生的数据。 #include<stdio.h> struct stu { char name[10]; int num; int age; char addr[15]; }boy,*qq; main() { FILE *fp; char ch; int i=1; qq=&boy; if((fp=fopen("stu_list","rb"))==NULL) { printf("Cannot open file, press any key exit!"); getch(); exit(1); } fseek(fp,i*sizeof(struct stu),0); fread(qq,sizeof(struct stu),1,fp); printf("\n\nname\tnumber age addr\n"); printf("%s\t%5d %7d %s\n",qq->name,qq->num,qq->age,qq->addr); }