命令行程序的返回值

时间:2011-03-12 07:37:21

标签: c++ function main

我有一个问题,我不知道我的程序是否正确。 请让我知道你的想法?

问题:在命令行中创建一个进程文件程序,程序返回是已处理文件的数量。

我的程序:在main()函数中,我返回已处理文件的数量。

这是对的吗?如果正确,如何从其他程序中获取此值?

请帮帮我?

3 个答案:

答案 0 :(得分:5)

你可以简单地使用return。 Success的常见返回值为0,其他任何内容都被视为某种错误。

int main()
{
 ...

return 0;
}

要获取另一个程序的值,您可以使用系统调用, http://en.wikipedia.org/wiki/System_(C_standard_library

或使用像:

这样的bash脚本

编辑,谢谢Evan Teran:

  myProgram; 
    V=$?; 
    program1 $V

答案 1 :(得分:3)

main()可以使用exit(code)函数将“退出代码”返回给OS

#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
    cout<<"Program will exit";
    exit(1); // Returns 1 to the operating system

    cout<<"This line is never executed";
}

然后在调用者程序中,您可以检查返回的退出代码,例如(调用者是批处理文件):

@echo off
call yourapp.exe
echo Exit Code = %ERRORLEVEL%

答案 2 :(得分:0)

这是对的。程序的结果代码是main函数的返回值。