关于在c语言文件中fwrite()函数的问题!

#include<stdio.h>
#define SIZE 4
struct student{
char name[10];
int num;
int age;
char addr[15]; 
}stud[SIZE];
void save()
{
FILE *fp;
int i;
if((fp=fopen("list_stu","w"))==NULL)
{printf("can not open the file\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&stud[i],sizeof(struct student),1,fp)!=1)
printf("file error\n") ;
fclose(fp);

}
void main()
{int i;
printf("please input name num age addr\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
save();
}
此代码哪个地方有问题?为什么我始终输出的是没有后缀的"list_stu“文件?请高手帮我找到?
if((fp=fopen("list_stu","w"))==NULL) 你这行始终打开的都是没后缀的list_stu啊 ?怎么改呀?谢谢了

潇湘沐
浏览 372回答 2
2回答

牛魔王的故事

if((fp=fopen("list_stu","w"))==NULL) 你这行始终打开的都是没后缀的list_stu啊fopen要打完整的文件名:fopen("list_stu.txt","w")

幕布斯7119047

fopen在打开文件时需要加上后缀才可以打开指定类型的文件。list_stu本来就没有后缀,打开的文件也就是list_stu,而不是list_stu.txt,list_stu.doc,........(list_stu.*)。
打开App,查看更多内容
随时随地看视频慕课网APP