|
当程序在执行某个函数时出现错误,如果该错误会导致后续步骤无法正常进行,应该在错误发生时立即终止程序的执行,而不是让程序继续运行下去。 在 Linux 系统下,进程正常退出除了可以使用return之外,还可以使用exit、_exit以及_Exit。 exit该函数是一个标准C库函数,函数会执行一些清理工作,最后调用_exit()函数终止进程。 1.头文件 #include <stdlib.h> 2.函数原型 void exit(int status); 3.参数 status:表示程序退出的返回值。 4.返回值 无。 5.示例 #include <stdio.h> #include <stdlib.h> #include <errno.h> 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 |
_exit和_Exit这两个函数都是系统调用,函数会在不执行exit()的清理操作的情况下立即终止调用的进程,它不刷新I/O缓冲区,也不关闭打开的文件描述符。 1.头文件 #include <unistd.h>和#include <stdlib.h> 2.函数原型 void _exit(int status); 和 void _Exit(int status); 3.参数 status:表示程序退出的返回值。 4.返回值 无。 5.示例 与exit相同,仅换成_exit和_Exit。
|