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函數(shù),作用是將stu的幾個(gè)輸入的數(shù)據(jù)保存在 stu_list的文件上.我想問下,怎么修改才能達(dá)到這樣的效果: 保存的那個(gè)文件的文件名可以自己定義,比如我可以輸入一些數(shù)字,保存在叫mark的文件里, 輸入另外的則保存在其他文件里,文件名字可以自己定義,可以有形參!謝謝了錯(cuò)了,是保存在user.txt的文件上
3 回答

慕尼黑的夜晚無繁華
TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
你就在user.txt那做手腳就行
你可以這樣char a[10];
scanf(“%s“,a);if((fp=fopen(a,‘wb"))==NULL)
你想達(dá)到什么效果
我認(rèn)為你說的就是 隨意可存在自己輸入的文件名下

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
可以撒,你只要定義個(gè)數(shù)組就可以了,如:
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);
}
添加回答
舉報(bào)
0/150
提交
取消