📄 student.c
字号:
/* gcc -o student student.c -lcurses */
#include <stdio.h>
#include <curses.h>
#define SIZE 5
struct student_type{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];
int save()
{
FILE * fp;
int i;
long des;
if((fp=fopen("stu_list","ab"))==NULL)
{
printf("cannot open file.\n");
return;
}
for(i=0;i<SIZE;i++)
{
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
if(fprintf(fp,"%s %d %d %s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr)==EOF)
{
printf("file write error.\n");
}
}
fclose(fp);
return 0;
}
int readfile()
{
FILE * fp;
int i;
long des;
if((fp=fopen("stu_list","ab+"))==NULL)
{
printf("cannot open file.\n");
return;
}
i = 0;
while(1)
{
printf("i= %d\n",i);
if((fscanf(fp,"%s %d %d %s\n",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr)==EOF))
{
break;
}
i++;
}
fclose(fp);
i--;
for(;i>=0;i--)
{
printf("%s\t%d\t%d\t%s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
return 0;
}
int seekfile()
{
FILE * fp,*fp2;
int i;
long des;
if((fp=fopen("stu_list","ab+"))==NULL)
{
printf("cannot open file(stu_list).\n");
return;
}
if((fp2=fopen("stu_list_new","ab"))==NULL)
{
printf("cannot open file(stu_list_new).\n");
return;
}
i = 0;
while(1)
{
if((fscanf(fp,"%s %d %d %s\n",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr)==EOF))
{
break;
}
if(stud[i].num == 2)
{
stud[i].age=222;
}
printf("%s\t%d\t%d\t%s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
if(fprintf(fp2,"%s %d %d %s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr)==EOF)
printf("file write error(stu_list_new).\n");
i++;
}
fclose(fp2);
fclose(fp);
return 0;
}
int main()
{
int i;
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
save();
seekfile();
readfile();
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -