【问题标题】:Return value of a command line program命令行程序的返回值
【发布时间】:2011-07-13 23:18:39
【问题描述】:

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

问题:在命令行中创建一个处理文件program,program返回的是处理文件的个数。

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

正确吗?如果正确,如何从另一个程序中获取此值?

请帮帮我?

【问题讨论】:

标签: c++ function main


【解决方案1】:

main() 可以通过 exit(code) 函数向操作系统返回“退出代码”

#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】:

    没错。程序的结果码是main函数的返回值。

    【讨论】:

      【解决方案3】:

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

      int main()
      {
       ...
      
      return 0;
      }
      

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

      或使用 bash 脚本,例如:

      已编辑,感谢 Evan Teran:

        myProgram; 
          V=$?; 
          program1 $V
      

      【讨论】:

      • 这不是您获得将分配输出的程序的返回值的方式(如stdout$v)。要获得返回值,您应该这样做:myProgram; V=$?; program1 $V
      猜你喜欢
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 2013-01-22
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多