c语言文件问题,请问下面exit(1)为何要放在这里?(初学者,还请大神说的详细一点) 10
if((fp=fopen("string","at+"))==NULL){printf("Cannotopenfilestrikeanykeyexit!");getch(...
if((fp=fopen("string","at+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
} 展开
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
} 展开
2015-08-01
展开全部
这个涉及到整个程序思路的问题,就这段代码解释一下吧
if((fp=fopen("string","at+"))==NULL)
这是打开文件string,以追加方式打开文本文件可读可写
当fp==null的时候打开失败,即文件不存在,这种情况下考虑到使用追加方式,即at+中的a,那么如果文件不存在的话下面的程序也不能继续运行。
{
printf("Cannot open file strike any key exit!");
getch();
首先输出错误信息,并使用getch()使程序阻塞,使用户可以看到提示信息。
exit(1);
接下来既然文件不存在,程序不能顺利运行,当然应该直接退出程序。如果是在main里面的话和return性质差不多,如果在子函数里面的话就必须使用exit来结束程序,或者是return一个明显不可能的值,使得调用的程序意识到调用出错,进行异常处理,这都是后话了
}
if((fp=fopen("string","at+"))==NULL)
这是打开文件string,以追加方式打开文本文件可读可写
当fp==null的时候打开失败,即文件不存在,这种情况下考虑到使用追加方式,即at+中的a,那么如果文件不存在的话下面的程序也不能继续运行。
{
printf("Cannot open file strike any key exit!");
getch();
首先输出错误信息,并使用getch()使程序阻塞,使用户可以看到提示信息。
exit(1);
接下来既然文件不存在,程序不能顺利运行,当然应该直接退出程序。如果是在main里面的话和return性质差不多,如果在子函数里面的话就必须使用exit来结束程序,或者是return一个明显不可能的值,使得调用的程序意识到调用出错,进行异常处理,这都是后话了
}
更多追问追答
追问
可以就写exit吗?
追答
exit必须要有参数的,exit(0)表示正常退出,其他参数表示异常退出,这些是给调用这个程序的其他程序准备的,如果只是关心当前这个程序的话什么数都可以退出程序
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询