使用(cin)用户输入将其粘贴到std :: system中,并在另一个终端中运行带有输入的命令
int main() {
string ip;
cout << "IP to scan: ";
cin >> ip;
std::system(" nmap .... ")
return 0;
}
所以基本上我希望在gnome三元组中使用字符串ip,所以我可以例如对用户键入的ip进行nmap扫描
答案 0 :(得分:1)
使用字符串格式可以很容易地做到这一点:
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
}
要在另一个终端窗口中运行该命令,您必须使用system()
调用终端程序,如scheff在其注释中所述
os << "gterm -e \"nmap " << ip "\"";
std::system(os.str().c_str());