-
system() Funktion in C
Hallo zusammen,
ich schreibe gerade einen kleinen Fingerprint für ein System. Jetzt setzt sich das aus mehreren Teilen zusammen unter anderem soll von dem C Programm ein Shellskript aufgerufen werden, dass das Linux System bestimmt. (Also Red Hat, SuSE, Debian und co).
Dafür hätte ich gerne die Funktion system() verwendet.
Nun meine frage, wie bekomme ich den Output der System Funktion in eine Variable?
systeminfo = system("./determine_os ");
systeminfo beinhaltet dann leider eine Zahl, also wohl den Returncode meines Shellskripts. Den Output schreibt system() direkt nach STDOUT.
Danke schonmal im Voraus
-
Registrierter Benutzer
Du willst die Ausgabe eines Programmes in einer Variable speichern.
Ich hatte ein ähnliches Problem, das ich mit popen() gelöst hatte.
-
Wie oben angesprochen über eine pipe zu lösen!
-
Moin,
abgesehen von dem Tip mit popen() - warum holst Du Dir die Infos nicht direkt über eine C-Funktion?
zeigt Dir, wie das geht. Dann sparst Du Dir einen zusätzlichen Prozess (den system() aufmacht).
Tipp am Rande: Wenn ich nach nützlichen Funktionen suche, dann nutze ich gern Bei Deiner Frage fiel mir "uname" ein - das liefert ja solche Infos auf der Kommandozeile; ein brachte dann die C-Funktion zum Vorschein.
Jan
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen