如何在c ++中cout主函数“main()”的返回值?

时间:2016-09-04 18:42:42

标签: c++

如何判断主函数“main()”的返回值?我只想检查main函数的返回值是否在成功执行时为“0”。

谢谢!

5 个答案:

答案 0 :(得分:0)

你的意思是你想测试以下返回0?

int main() {
  int rc = doSomething();
  return rc;
}

你可以这样做:

int main() {
  int rc = doSomething();
  std::cout << rc << "\n";  // Just print it out before returning
  return rc;
}

但是,从运行应用程序的位置检查 shell 中的返回值会更好:

在UNIX / Linux上(在shell中):

 > ./my_app
 > echo $?
 0

在Windows上(在命令提示符下):

> my_app.exe
> echo %ERRORLEVEL%

请注意,在C ++中,您不能拦截对main()的调用或自行调用。

3.6.1主要功能

  

函数main不得在程序中使用。

因此,您不应尝试包装main()调用并打印其返回值。即使它有效,它也不会便携(更不用说你实际上最终会运行你的应用程序两次了。)

答案 1 :(得分:0)

main很特别,主要是因为你不能自己打电话。它返回的值将传递回操作系统,操作系统会执行任何适当的操作。 C ++标准无法规定操作系统如何处理各种返回值,因此它提供了一个抽象:您可以使用return EXIT_SUCCESS来表示成功,并且可以使用return EXIT_FAILURE来指示失败。 (您也可以使用return 0表示return EXIT_SUCCESS;程序的运行时系统必须正确处理此问题。宏EXIT_SUCCESSEXIT_FAILURE的值适用于编译程序的OS。虽然0EXIT_SUCCESS的典型值,但操作系统当然可能需要不同的值,而EXIT_SUCCESS将具有该操作系统的适当值。因此,即使您可以检查从main返回的值,它也不会告诉您太多,也不知道操作系统对成功程序的期望值。

答案 2 :(得分:0)

main() 后键入另一个函数,然后在该函数中键入 main(); 但是有一个问题, main 将是第一个被自动调用的函数。虽然,我确定有办法解决它。这就是您调用 main 或返回 main 的方式。 希望这会有所帮助。

int main() {

int i = 5;
cout << i;
}

int second() {
 main();
}

答案 3 :(得分:-1)

欢迎使用Stack Overflow!

如果它为0,则它​​为0.您是指定您自己的函数的返回值的人。如果您不确定,请添加困扰您的代码和/或问题。

答案 4 :(得分:-1)

您可以使用unix命令检查先前执行的命令的返回值,在本例中是您的c程序。

echo $?

shell变量$?是上一个命令的返回码。

How to find the return value of last executed command in UNIX?

如果要检查代码中的值,只需在返回之前输入值。