首页 > 解决方案 > 在程序中使用某个可执行文件的返回值

问题描述

为简单起见,假设我们有 2 个 cpp 程序(但这个问题的主要目的是了解如何使用其他语言的程序,例如 python 程序中的一些 cpp 程序)。第一个程序乘以 2 个参数:

int main(int argc, char** argv) {
    if (argc == 2)
        return (*argv[1]) * (*argv[2]);
}

然后我将它编译为multiply并希望在第二个程序中使用它:

#include <iostream>

int main() {
    std::cout << system("./multiply 2 5") << '\n';
}

但是,首先,system不返回它调用的程序的返回值 ( $?),其次,return (*argv[1]) * (*argv[2])在道德上是错误的,因为main应该返回错误代码,而不是函数的结果。

那我怎样才能实现我的目标呢?使用文件访问数据很麻烦。

标签: c++executable

解决方案


推荐阅读