Ubuntu Türkiye

Yazılım => Programlama => C/C++ => Konuyu başlatan: qmert - 16 Eylül 2017 - 21:38:03

Başlık: C kodu içerisinde terminal komutları çalıştırabilir miyiz?
Gönderen: qmert - 16 Eylül 2017 - 21:38:03
C de yazdığımız program içerisinde terminal komutlarını nasıl kullabiliriz arkadaşlar? Mesela windowsdaki system("pause") gibi.
Başlık: Ynt: C kodu içerisinde terminal komutları çalıştırabilir miyiz?
Gönderen: edge35 - 16 Eylül 2017 - 21:40:26
Aynı şekilde kullanıyorsun. Mesela system("clear");
Başlık: Ynt: C kodu içerisinde terminal komutları çalıştırabilir miyiz?
Gönderen: qmert - 16 Eylül 2017 - 21:42:07
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")
Başlık: Ynt: C kodu içerisinde terminal komutları çalıştırabilir miyiz?
Gönderen: Amenofis - 16 Eylül 2017 - 22:15:00
system() ile sadece tekli komut gönderilebilir. "sudo..." yazıp şifreyi giremezsin yani.
Başlık: Ynt: C kodu içerisinde terminal komutları çalıştırabilir miyiz?
Gönderen: MRWhite - 20 Eylül 2017 - 15:42:58
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");
Başlık: Ynt: C kodu içerisinde terminal komutları çalıştırabilir miyiz?
Gönderen: Katsuro - 29 Aralık 2017 - 17:55:16
Popen ile çalıştırırsın.