通过管道获取cmd输出
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> int GerResurt(char* cmd, char* result); int main() { while (1) { char cmd[50] = { 0 }; char result[4000] = { 0 }; scanf("%s", cmd); GerResurt(cmd, result); printf("%s", result); } system("pause"); } int GerResurt(char* cmd, char* result) { char buffer[128];//缓冲区 FILE* pipe = _popen(cmd, "r");//创建一个管道 if (!pipe)return 1;//管道创建失败 while (!feof(pipe))//函数feof()在到达给出的文件流的文件尾时返回一个非零值 { if (fgets(buffer, 128, pipe))//获取每行数据到buffer中 strcat(result, buffer);//函数将字符串str2 连接到str1的末端,并返回指针str1. } _pclose(pipe);//关闭管道 return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。