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

  • pucksz

    pucksz

    24 Mart 2006
  • superflyy88

    superflyy88

    8 ŞUBAT 2009
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006