如何创建将命令行参数传递给shell脚本的C ++程序?

时间:2015-10-09 15:46:29

标签: c++

我之前从未使用过C ++,我的教授说这应该是“非常简单”,但我无法理解。这就是我到目前为止所做的:

compile "org.parceler:parceler-api:1.0.3"
apt "org.parceler:parceler:1.0.3"

我的shell脚本在我自己运行时工作,但我不确定如何使用C ++程序来运行它。对于shell脚本,用户应该输入如下的用户ID:

#include <iostream>
#include <cstdio>
#include <cstdlib>

int main(int argc, char *argv[])
{
  char command[50];
  if (argc==2)
    system(command, "./findName.sh", argv[1]);
}  
return 0;

并且程序从名称和用户ID文件中返回此人的姓名,如下所示:

./findName.sh userID

对于C ++程序,它需要将用户输入的信息传递给shell脚本并返回相同的结果。

正如我所说,我之前从未使用过C ++,因此我不知道这是否正确。这是我在网上发现的混合物。谢谢你的帮助!!

1 个答案:

答案 0 :(得分:0)

我发现这样做的最简单方法是使用std::string,因为它可以让您轻松地连接蜇伤。

#include <string>
#include <cstdlib>

int main(int argc, char* argv[])
{
    std::string command = "./findName.sh";

    if(argc == 2)
        std::system((command + " " + argv[1]).c_str());
}

但要了解其原因,您需要study some books

首先,您需要先编译程序,然后才能运行它。如果源代码文件名为progname.cpp,则应该能够使用此命令:

g++ -o progname progname.cpp

然后像这样运行程序:

./progname userID