exit()
函数是C/C++标准库中的函数,用于终止当前程序的运行。其原型如下:
void exit(int status);
其中,status
参数表示程序的退出状态,可以是任意整数值。一般来说,0表示程序正常退出,非0表示程序异常退出,具体的值可以根据需要自行定义。
exit()
函数的执行过程如下:
- 执行
atexit()
注册的函数,按照注册的顺序从后往前依次调用; - 关闭所有打开的文件流;
- 刷新所有缓冲区;
- 通过调用
_Exit()
函数或_Exit()
宏来终止程序的运行。
需要注意的是,exit()
函数只能用于终止整个程序的运行,而不能用于终止当前线程的运行。如果要终止当前线程的运行,可以使用std::thread::exit()
函数。
以下是一个简单的例子,演示如何在程序退出时输出一条信息:
#include <iostream>
#include <cstdlib>
void exit_handler() {
std::cout << "Program exited." << std::endl;
}
int main() {
std::atexit(exit_handler);
std::cout << "Hello, world!" << std::endl;
std::exit(0);
}
在上面的例子中,我们使用std::atexit()
函数注册了一个退出处理函数exit_handler()
,当程序退出时会自动调用该函数。在main()
函数中,我们输出了一条信息“Hello, world!”,然后调用std::exit()
函数来终止程序的运行。由于传递了0作为参数,表示程序正常退出,因此exit_handler()
函数会被调用,并输出一条信息“Program exited.”。