我完全是编程新手,需要一位老手的建议,因为这是我任务的一部分。
有没有办法读取由命令提示符(CMD)生成的字符串?
我的任务是创建一个代码来ping所有网络并通过文件的输入/输出将IP地址分配为活动和非活动状态。
我想复制cmd中的字符串,例如:
来自192.168.0.1的回复:字节=32时间<1ms TTL = 64 <- (这表示活动) 来自192.168.0.2的回复:目标主机不可达 <- (这表示非活动)
如果我能够复制那一行,我就可以编写If / Else条件来将它们分开。如果有任何更简单的方法来改善这种情况,请协助我。谢谢。
下面的代码是为了ping所有IP地址直到255,但我仍然需要另外一个函数来区分活动和非活动IP地址。
using namespace std;
void main()
{
string ipAddress;
cout << "Enter the IPv4 address network..." << endl;
cout << "Example: 10.0.0. or 192.168.1." << endl;
getline(cin, ipAddress);
cout << "Please wait..." << endl;
string s = "ping " + ipAddress;
for (int x = 0; x <= 255; ++x)
{
stringstream ss;
ss << x << endl;
string newString = ss.str();
string finalString = s + newString;
system(finalString.c_str());
}
system("pause");
}
附言:我也在 http://www.cplusplus.com/forum/beginner/196197/ 上发布了文章。
std::system()
命令的输出吗? - Galik