为什么运行这个检查文件是否存在的程序,即使文件真的存在,他也会提示出错?
#include <conio.h>#include <stdlib.h>
#include <stdio.h>
int fexamine();
main()
{
int examine;
textcolor(11);
cprintf("[系统]");
printf("引擎正在检查必要文件,请稍后......\n");
examine=fexamine();
if (examine==1)
{
cprintf("[系统]");
printf("引擎检查完成,未发现出错文件!\n");
}
getch();
}
int fexamine()
{
FILE *ffexamine;
cprintf("[系统]");
printf("正在检查characterlist.txt......\n");
ffexamine=fopen("C:\\12","rt");
if (ffexamine==NULL)
{
cprintf("[系统]");
printf("characterlist.txt出现错误,请按任意键退出程序!\n");
getch();
exit(1);
}
return 1;
}
----------------解决方案--------------------------------------------------------
把这个textcolor(11);去了试试!!!
----------------解决方案--------------------------------------------------------
犯了一个很小的错误――失误吧。
你忘记了给文件“12”打扩展名“txt”了。
将函数 fexamine 里 fopen 函数的第一个参数,文件路径那里改成 "C:\\12.txt" 就OK了。
----------------解决方案--------------------------------------------------------
如楼上所说的那样修改了,但还是报错~~~
----------------解决方案--------------------------------------------------------
我试过,修改后没有报错了。
或许你的那份文件可能原来就不是TXT文件??
我开始以为是 TXT 文件,可能是扩展名的问题。
----------------解决方案--------------------------------------------------------
rt是什么方式啊是不是r+
----------------解决方案--------------------------------------------------------
还有一点程序记得在fexamine中记得用fclose来关闭文件
----------------解决方案--------------------------------------------------------
FlyHorse,能否把你修改后的源码以及编译好的程序发上来?
----------------解决方案--------------------------------------------------------
顶上去!
----------------解决方案--------------------------------------------------------
ffexamine=fopen("C:\\12","rt");
红色部分,填入正确的文件名,如:c:\\12.txt
第二,别人回答你的贴子,你要仔细看。你提问题时要说清楚具体出错时的环境,如:系统平台,所用的编译器等等。
这个问题我上次已经说了,再仔细看看。
----------------解决方案--------------------------------------------------------