使用 C++ 调用 shell 并以字符串形式获取结果

By | 2019年3月21日
#include <iostream>
#include <string>
#include <stdlib.h>

using namespace std;

string exec(const char* cmd) {
    FILE* pipe = popen(cmd, "r");
    if (!pipe) return "ERROR";
    char buffer[128];
    std::string result = "";
    while(!feof(pipe)) {
        if(fgets(buffer, 128, pipe) != NULL)
        result += buffer;
    }
    pclose(pipe);
    return result;
}

int main() {
    string tmp = exec("ls -l");
    cout<<tmp;
    return 0;
}

点击量:369

发表评论

邮箱地址不会被公开。 必填项已用*标注