0

所以,我必须创建一个使用我的脚本来搜索某人姓名的 cpp 文件。我对此很陌生,所以我不太了解,但这就是我目前所拥有的。我也必须使用系统()。这是我的代码

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

int main (int argc, char *argv[]) {
    system("./findName.sh" + argv[1] );
    return 0;
}
4

2 回答 2

1

问题是在 C++ 中,字符串文字(例如"./findName.sh")不是std::string,而是指针。对于指针,加法除了字符串连接之外还有另一个含义。

您可以创建一个std::string并使用它来执行连接:

    std::string scriptName = "./findName.sh";
    std::string command = scriptName + " " + argv[1];

    system(command.c_str());

不要忘记检查大小argc以确保存在参数。

于 2020-04-23T20:28:53.633 回答
0

您可以使用std::systemboost::process用于此目的。

于 2020-04-23T20:56:00.867 回答