LINUX.ORG.RU

История изменений

Исправление anonymous2, (текущая версия) :

я создаю pipe, вполне рабочее

    char buffer[256] = {0};
    std::string result;

    std::shared_ptr<FILE> pipe(popen(cmd, "r"), pclose);
    if(!pipe) throw std::runtime_error("error popen");

    while(!std::feof(pipe.get()))
    {
        if(std::fgets(buffer, sizeof(buffer), pipe.get()))
            result.append(buffer);
    }

Исправление anonymous2, :

я создаю pipe, вполне рабочее

    char buffer[256];
    std::string result;

    std::shared_ptr<FILE> pipe(popen(cmd, "r"), pclose);
    if(!pipe) throw std::runtime_error("error popen");

    while(!std::feof(pipe.get()))
    {
        if(std::fgets(buffer, sizeof(buffer), pipe.get()))
            result.append(buffer);
    }

Исходная версия anonymous2, :

я создаю pipe, вполне рабочее

    char buffer[128];
    std::string result;

    std::shared_ptr<FILE> pipe(popen(cmd, "r"), pclose);
    if(!pipe) throw std::runtime_error("error popen");

    while(!std::feof(pipe.get()))
    {
        if(std::fgets(buffer, sizeof(buffer), pipe.get()))
            result.append(buffer);
    }