将文本信息从Windows命令解释程序(cmd.exe)管道传输到字符数组

时间:2016-01-22 17:22:27

标签: c++ windows

有没有办法从Windows命令解释器(cmd.exe)中提取文本信息到字符数组而不从命令解释器创建文本文件?

1 个答案:

答案 0 :(得分:4)

尝试使用Microsoft版本的POSIX _popen函数<stdio.h>popen):

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main(void) {
    FILE * pp;
    char buf[1024];
    string result;

    if ((pp = _popen("dir", "r")) == NULL) {
        return 0;
    }

    while (fgets(buf, sizeof(buf), pp)) {
        result += buf;
    }

    _pclose(pp);

    cout << result << endl;

    return 0;
}