我正在进行最终项目,而文件I / O部分特别困难。 问题:当我读到一个基本文件,它告诉我已经创建了多少个存档文件时,我要求用户从这些存储文件中选择是否已创建最大文件数。在这种情况下,用户可以选择3个保存文件。然后我将文件名以字符串的格式传递给写入文件的fcn。但问题是,尽管传递了有效的文件名,但fopen fcn会向文件指针返回NULL。这是为什么?
到目前为止我尝试了什么:
我已经尝试关闭所有数据文件
我没有使用其他版本使用可能已经打开文件的相同代码。
可以单独打开数据文件
文件名也有效
void WriteSaveFile (char s[], struct boardType *board, enum gameStatusType *status){
char temp [MAX_LENGTH];//doesn't create things.txt or 123456.txt
printf ("%s",s);
FILE * wp = fopen (s,"w");
if (wp==NULL)
printf ("error\n");
fprintf (wp,"bruh");
fclose (wp);
FILE *rp = fopen (s,"r");
if (fgets (temp, 60, rp) !=NULL)
printf ("%s",temp);
else printf ("woops");
fclose (rp);
}