我需要通过IP运行ping到HOST 我发现语法是ping -S IP HOST
如何在c ++程序中实现这种程序化? 并获取此命令的返回退出代码?
我试过
char command[255];
sprintf(command, "ping -S %s %s", ip, host);
system(command);
但返回值是系统函数
在Windows环境下谢谢你!
答案 0 :(得分:3)
要在system
函数中获取命令的返回状态,请使用WEXITSTATUS
宏:
int ret = system("foo");
printf("foo return %d\n", WEXITSTATUS(ret));
检查其他W
宏,它们可能很有用。
编辑:在Windows上,它似乎有所不同。您可以直接使用system
函数的返回值作为命令的返回值(see msdn)
如果command不是NULL,则系统返回命令解释器返回的值。
答案 1 :(得分:3)
在Windows上,而是使用IcmpSendEcho2来实现ping功能。 请检查此链接http://msdn.microsoft.com/en-us/library/aa366051%28VS.85%29.aspx