C kodu içerisinde terminal komutları çalıştırabilir miyiz?

Başlatan qmert, 16 Eylül 2017 - 21:38:03

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

qmert

C de yazdığımız program içerisinde terminal komutlarını nasıl kullabiliriz arkadaşlar? Mesela windowsdaki system("pause") gibi.

edge35



Sorunlarımı çözerken her şeyiyle öğrenmeye çalışıyorum. Bana balık verenden Allah razı olsun, ama bana balık tutmayı öğretenden Allah daha çok razı olsun :)

qmert

Alıntı yapılan: edge35 - 16 Eylül 2017 - 21:40:26
Aynı şekilde kullanıyorsun. Mesela system("clear");

sadece system deyip içerisine string olarak gömmem yeterli değil mi?

örn: system("sudo apt-get update")

Amenofis

system() ile sadece tekli komut gönderilebilir. "sudo..." yazıp şifreyi giremezsin yani.

MRWhite

FILE *pf;
    char command[20];
    char data[512];

    // Çalıştırmak istediğin komutu gir. Ör: ps aux wwwf
    sprintf(command, "ps aux wwwf");

    pf = popen(command,"r");

    // Çıkan sonucu al
    fgets(data, 512 , pf);

    //burada data'yı kullanabilirsin, data artık komutun çıktısını barındırıyor.

    if (pclose(pf) != 0)
        fprintf(stderr," Error: Failed to close command stream \n");

Katsuro