SORU
26 Ocak 2009, PAZARTESİ


Nasıl bir komut Çalıştır ve C içinde komut çıktısı almak için ?

Bir C programı içinden çalıştırıldığında komut çıktısı almak için arıyorum. Bu sistemi kullanarak baktım() işlevi, ama bu sadece bir komut çalıştırır. İşte aradığım şey bir örnek:

std::string result = system( "./some_command" ) ;

Keyfi bir komut çalıştırmak ve çıktısını almak istiyorum. Boost.org baktım ama istediğimi bana verecek bir şey bulamadım.

CEVAP
26 Ocak 2009, PAZARTESİ


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

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;
}

Popen yerine takın ve Windows için _popen ve _pclose ile pclose.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007
  • Vsauce

    Vsauce

    30 Temmuz 2007