我对C有疑问,但我的编程技巧并不好,因为我还在学习/学习.
让我首先解释一下我的问题,出于纯粹的好奇心和懒惰,我想在C中创建一些程序,可以在我的本地网络上自动ping一些IP范围并告诉我IP是什么活着的.
好吧,到目前为止没有问题我设法写了几行,但我被困在部分我需要从命令提示符读取一些行.执行此行后,cmd开始ping它提供的地址.
system("ping 192.168.000.000")
所以在完成此行之后我可以从cmd读取信息并使用它与其他ping信息进行比较吗?
或者还有其他一些方法我应该开始寻求解决这个问题?
您可以使用此方法:
int main() { FILE *fp = popen("ping 192.168.000.000", "r"); //Read process output via fp and compare with other ping info pclose(fp); return 0; }
这种方法的优点是你不需要一个临时文件,你可以在生成时读取输出,无限大小或时间,这非常方便,ping
因为它不会在unix下停止.您可以随时终止该过程pclose(fp);
.