当程序在执行某个函数时出现错误,如果该错误会导致后续步骤无法正常进行,应该在错误发生时立即终止程序的执行,而不是让程序继续运行下去。
在 Linux 系统下,进程正常退出除了可以使用return之外,还可以使用exit、_exit以及_Exit。
1.3.5.1 exit
该函数是一个标准C库函数,函数会执行一些清理工作,最后调用_exit()函数终止进程。
1.头文件
#include
2.函数原型
void exit(int status);
3.参数
status:表示程序退出的返回值。
4.返回值
无。
5.示例
#include
#include
#include
int main()
{
FILE *fp = fopen("exit", "r");
if (!fp) {
perror("exit test");
printf("errno1= %d\n", errno);
exit(errno);
}
fclose(fp);
printf("errno2= %d\n", errno);
exit(errno);
}
6.编译运行并查看测试结果
exit test: No such file or directory
errno1= 2
1.3.5.2 _exit和_Exit
这两个函数都是系统调用,函数会在不执行exit()的清理操作的情况下立即终止调用的进程,它不刷新I/O缓冲区,也不关闭打开的文件描述符。
1.头文件
#include 和#include
2.函数原型
void _exit(int status); 和 void _Exit(int status);
3.参数
status:表示程序退出的返回值。
4.返回值
无。
5.示例
与exit相同,仅换成_exit和_Exit。