写一个C语言控制台程序,在脱离VC6.0运行环境打开.exe文件时程序闪退,首先确定的是加了conio.h这个头文件了,在return 0;前写了getch();了。出现闪退本人发现是用fopen以只读方式打开一个文件时就会发生这个现象,假如是只写呢,就没事,只要程序里有读文件的操作就会闪退,为了表达清楚本人还是贴代码吧,尽管代码可以说基本没有东西。
int main(void)
{
FILE *fpr, *fpw;
if((fpr = fopen(“file1.txt”,”r”)) == NULL)
{
printf(“It can not be opened the file!\n”);
exit(0);
}
/* if((fpw = fopen(“file2.txt”,”w”)) == NULL)
{
printf(“It can not be opened the file!”);
exit(0);
}*/
//fclose(fpw);
fclose(fpr);
getch();
//while(1);
return 0;
}
代码就这个,啥也没干,原本本人是操作文件了的,但是本人把程序摘成这样,还是会闪退,即使返回前加死循环也是闪退。不知道为什么,希望大牛们能指点指点小弟,小弟不胜感激。
int main(void)
{
FILE *fpr, *fpw;
if((fpr = fopen(“file1.txt”,”r”)) == NULL)
{
printf(“It can not be opened the file!\n”);
exit(0);
}
/* if((fpw = fopen(“file2.txt”,”w”)) == NULL)
{
printf(“It can not be opened the file!”);
exit(0);
}*/
//fclose(fpw);
fclose(fpr);
getch();
//while(1);
return 0;
}
代码就这个,啥也没干,原本本人是操作文件了的,但是本人把程序摘成这样,还是会闪退,即使返回前加死循环也是闪退。不知道为什么,希望大牛们能指点指点小弟,小弟不胜感激。
解决方案
15
文件存在么,要是不存在,估计会闪退吧。可以加上r+
20
打开的文件不存在吧,
printf(“It can not be opened the file!\n”);
exit(0);
在这句话中间加个getchar();就该看出来了
printf(“It can not be opened the file!\n”);
exit(0);
在这句话中间加个getchar();就该看出来了
5
文件路径问题。