关于c语言save函数的问题,麻烦帮忙看看下面的内容

void save()
{
FILE *fp;
int i;
if((fp=fopen("user.txt","wb"))==NULL)
{printf("cannot open file\n");
return;}
for(i=0;i<MAX;i++)
if(fwrite(&user[i],sizeof(struct diary_type),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

这是我写的save函数,作用是将stu的几个输入的数据保存在 stu_list的文件上.
我想问下,怎么修改才能达到这样的效果: 保存的那个文件的文件名可以自己定义,比如我可以输入一些数字,保存在叫mark的文件里, 输入另外的则保存在其他文件里,文件名字可以自己定义,可以有形参!
谢谢了
错了,是保存在user.txt的文件上

慕姐8265434
浏览 269回答 3
3回答

慕尼黑的夜晚无繁华

你就在user.txt那做手脚就行你可以这样char a[10];scanf(“%s“,a);if((fp=fopen(a,‘wb"))==NULL)你想达到什么效果我认为你说的就是 随意可存在自己输入的文件名下

斯蒂芬大帝

可以撒,你只要定义个数组就可以了,如:void save(){char name[10];FILE *fp;int i;scanf("%s",name)if((fp=fopen(name,"wb"))==NULL){printf("cannot open file\n");return;}for(i=0;i<MAX;i++)if(fwrite(&user[i],sizeof(struct diary_type),1,fp)!=1)printf("file write error\n");fclose(fp);}
打开App,查看更多内容
随时随地看视频慕课网APP