我想启动一个脚本并在 C++ 中获取退出状态。但我注意到系统命令的退出状态总是左移 8 位。为什么系统函数会这样做?
示例代码:
#include <iostream>
using namespace std;
int main()
{
int exit_code_0 = system("exit 0") >> 8;
int exit_code_1 = system("exit 1") >> 8;
int exit_code_2 = system("exit 2") >> 8;
int exit_code_3 = system("exit 3") >> 8;
int exit_code_4 = system("exit 4") >> 8;
int exit_code_255 = system("exit 255")>> 8;
cout<<"Exit code was: " << exit_code_0 <<", Expected: 0"<< endl;
cout<<"Exit code was: " << exit_code_1 <<", Expected: 1"<< endl;
cout<<"Exit code was: " << …Run Code Online (Sandbox Code Playgroud)