[Linux] externes Programm (Konsole) aufrufen und Ausgabe ins eigene C-Programm aufnehmen
-
Hallo c-Community,
ich habe heute folgendes Problem:
Ich rufe ein externes Konsolenprogramm (ls) in meinem Programm auf. Dies tue ich mit:
system("ls -l");
ich möchte nun aber die Ausgabe des externen Programms in meinem C-Programm weiter verarbeiten. Da ich dieses externe Programm mehrfach (ca 100 - 200 mal) aufrufen möchte, will ich nicht den Weg über eine Datei (auch aus zeitgründen) nehmen.
Welche Möglichkeiten gibt es hier, um die Daten als z.B. char[] einzulesen?
Gibt es eventuell eine Möglichkeit auch die Ausgabe in der Konsole zu unterdrücken?
MfG
mirrowwinger
-
Schau dir mal
popen()
an
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
mirrowwinger schrieb:
Ich rufe ein externes Konsolenprogramm (ls) in meinem Programm auf.
Klingt nach einer schlechten Idee.
Schau dir lieber man: readdir(3) bzw. man: stat(2) an.