如何使用system()终端命令

时间:2017-07-03 20:45:18

标签: c++

如何与Mac上的终端通信以便我可以完成以下任务? 我想要求用户提供Raspberry Pi的IP或ID,然后利用输入连接到Raspberry Pi。 我已经尝试了下面的代码,但它不会起作用,并说#34;没有匹配函数调用系统"。

cout << "What is the Raspberry Pi's IP address or ID? ";
string raspiID;
cin >> raspiID;
cout << endl;
string command = "ssh pi@" + raspiID + "";
system(command);

1 个答案:

答案 0 :(得分:0)

使用system()的方式有两个问题:

  1. 添加#include <stdlib.h>#include <cstdlib>
  2. system()采用const char*类型的参数,因此您无法直接将std::string传递给此函数。这是您在问题中显示的错误的主要来源。使用

    system(command.c_str());
    

    代替。

  3. 作为旁注:显然,您的代码中有using namespace std;语句。请阅读此Q&A以了解您不应该这样做的原因。