使用 popen 捕获系统输出
问题:
如何有效捕获真实-使用 system() 调用的系统命令的时间输出,例如 system("ls"),以便进一步处理C/C ?
答案:
popen 函数提供了一种捕获系统命令输出的有效方法。其语法为:
#include <stdio.h> FILE *popen(const char *command, const char *type); int pclose(FILE *stream);
进程:
FILE *stream = popen(command, "r");
char buffer[1024]; while (fgets(buffer, sizeof(buffer), stream) != NULL) { // Process each line of output }
pclose(stream);
示例:
#include <stdio.h> int main() { FILE *stream = popen("ls", "r"); if (stream != NULL) { char buffer[1024]; while (fgets(buffer, sizeof(buffer), stream) != NULL) { printf("%s", buffer); } pclose(stream); } return 0; }
以上是如何使用'popen”在 C/C 中捕获实时系统命令输出?的详细内容。更多信息请关注PHP中文网其他相关文章!