如何使用C语言跟踪批命令处理
我写了一个小程序,使用system()调用批命令来进行操作。
请问如何实现对批命令运行情况进行监控,例如我想得到批命令在CMD上的处理结果。
谢谢
[解决办法]
我目前的处理方式是把批处理的结果输出到一个文本文档,比如 result.txt,那读取 result.txt的内容就好了~~。
#include<stdio.h>#include<stdlib.h>int main(){ FILE *fp; system("dir/b>result.txt"); fp = fopen("result.txt","r"); ... ... fclose(fp); return 0;}
[解决办法]
linux下可以这样做,仅供参考
/* * cmd: 要执行的命令 * output: 命令的输出 */int get_cmd_output(const char *cmd, char *output){ FILE *fp; char buf[1024] = {0}; fp = popen(cmd, "w"); if (fp == NULL) { system("echo 1111"); return -1; } while (fgets(buf, sizeof(buf), fp) != NULL) { strcat(output, buf); } pclose(fp); return 0;}
[解决办法]