C语言用fopen以只读方式打开文件,程序闪退问题

C语言 码拜 8年前 (2016-04-09) 2390次浏览
写一个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;
}
代码就这个,啥也没干,原本本人是操作文件了的,但是本人把程序摘成这样,还是会闪退,即使返回前加死循环也是闪退。不知道为什么,希望大牛们能指点指点小弟,小弟不胜感激。
解决方案

15

文件存在么,要是不存在,估计会闪退吧。可以加上r+

20

打开的文件不存在吧,
printf(“It can not be opened the file!\n”);
exit(0);
在这句话中间加个getchar();就该看出来了

5

文件路径问题。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C语言用fopen以只读方式打开文件,程序闪退问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)