使用 (cin) 用户输入将其粘贴到 std::system 和 运行 命令中,并在另一个终端输入

Use the (cin) user input to paste it in std::system and run a command with the input in another terminal

使用 (cin) 用户输入将其粘贴到 std::system 和 运行 在另一个终端输入的命令

int main() {
    string ip;
    cout << "IP to scan: ";
    cin >> ip;

    std::system(" nmap .... ")

    return 0;
}

所以基本上我希望在 gnome 终端中使用字符串 ip,这样我就可以对用户输入的 ip 进行例如 nmap 扫描

这可以使用字符串格式轻松完成:

int main() // ; << Note this is wrong!
{
    string ip;
    cout << "IP to scan: ";
    cin >> ip;

    std::ostringstream os;
    os << "nmap " << ip;

    std::system(os.str().c_str());

    // return 0; isn't necessary    
}

为了 运行 在不同的终端 window 中执行该命令,您必须使用 system() 调用终端程序,正如 scheff 在他们的评论中提到的

os << "gterm -e \"nmap " << ip "\"";
std::system(os.str().c_str());