2 a lemon d A_lemon_D 于 2017.01.03 23:06 提问

学生管理系统,存储和读取问题?

用qtcreator写的c语言写学生管理系统,可以存储数据,但是读取不了(如图),请问是什么原因?
存储和读取函数代码如下:
void save(void)
{
int i=0;
FILE *f;
char filename[20];
printf("Enter a file name\n");
scanf("%s",&filename);

if((f=fopen(filename,"a+"))==NULL){
    printf("无法打开,文件为空\n");
}
while(i<n)
{
    fprintf(f,"%s%d\n%s%s\n%s%s\n%s%d\n%s%d\n%s%d\n","学号:",p[i].num,"姓名",p[i].name,"性别",p[i].sex,"计算机:",p[i].score[0],"数学:",p[i].score[1],"英语:",p[i].score[2]);
i++;
}
fclose(f);

}

void readStu(void)
{
int i;
FILE *f;
while(!feof(f))
{
fread(&p[i],sizeof(Student),1,f);
i++;
}
fclose(f);
printf("---------------------------\n");
int n;
for(n=0;n<i-1;n++){
printf("%s%d\n%s%s\n%s%s\n%s%d\n%s%d\n%s%d\n","学号:",p[i].num,"姓名",p[i].name,"性别",p[i].sex,"计算机:",p[i].score[0],"数学:",p[i].score[1],"英语:",p[i].score[2]);
}
printf("---------------------------\n");
}图片图片

3个回答

caozhy
caozhy   Ds   Rxr 2017.01.03 23:09

FILE *f;
然后你没有打开文件的操作,f也没有初始化

caozhy
caozhy 回复A_lemon_D: http://blog.chinaunix.net/uid-26566204-id-3079522.html
11 个月之前 回复
A_lemon_D
A_lemon_D 嗯,改了…然鹅还是没有显示… (╥﹏╥)
11 个月之前 回复
caozhy
caozhy 回复A_lemon_D: 就像你在save里写的那样
11 个月之前 回复
caozhy
caozhy 回复A_lemon_D: fopen
11 个月之前 回复
A_lemon_D
A_lemon_D …初始化了,可以显示printf的"---------"了,但是依旧显示不了存储数据…求教 TAT
11 个月之前 回复
A_lemon_D
A_lemon_D ……那个,怎么初始化?
11 个月之前 回复
minyifei811
minyifei811   2017.01.03 23:35

你这个竟然用的是c写的,为啥不用更高级的语言呢,比如php、java等

A_lemon_D
A_lemon_D ...因为只学了c
11 个月之前 回复
sum_TW
sum_TW   2017.01.08 19:23

函数中你没有打开那个文件,怎么读数据?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!