layeracht
Goto Top

Ergebnis von system() an eine Variable übergeben

Hallo,
Ich beschäftige mich jetzt seit 2 Tagen mit C, da ich ein LCD Display unter Linux ansprechen will.

Bis jetzt läuft alles Super, aber ich hänge an der im Titel erwähnten Sache.

Ich möchte jetzt simple Systeminformationen auf dem LCD anzeigen.
Diese frage ich in C z.B. mit

system("cat /proc/meminfo | grep Mem");  

ab. Nun möchte ich das Ergebnis an das Display senden. Dazu brauche ich das Ergebnis allerdings in einer Variable.

Ist das irgendwie möglich? Vielleicht gibt es ja auch noch einen anderen Weg. Meine Kenntnisse in C sind noch sehr beschränkt.


Danke schon mal für Eure Bemühungen!

Content-Key: 147771

Url: https://administrator.de/contentid/147771

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: dog
dog 27.07.2010 um 18:43:38 Uhr
Goto Top
system ist die falsche Funktion.
man 3 popen
Mitglied: LayerAcht
LayerAcht 27.07.2010 um 18:48:17 Uhr
Goto Top
welche Funktion wäre denn besser geeignet?
system() liefert mir jedenfalls das was ich versuche, aber ich bin für jede Hilfe dankbar

EDIT: okay, Dein Befehl stand grad noch nicht da.
Ich schau mal was sich machen lässt.
Danke
Mitglied: LayerAcht
LayerAcht 27.07.2010 um 19:43:43 Uhr
Goto Top
Puh naja, ob ich das jetzt richtig habe weiß ich nicht.
Ich schreib jetzt mal was ich mir da zusammengebastelt habe:

FILE *mem = popen ("cat /proc/meminfo | grep Mem", "w");  

Falls das richtig ist:
Wie konvertiere ich das in einen string?

ich dachte da an
sprintf(memory, "%s", mem);  
jedoch passt das %s nicht.

Ich hoffe ich hab hier keinen großen Mist geschrieben face-smile
Mitglied: dog
dog 27.07.2010 um 20:02:23 Uhr
Goto Top
Mitglied: LayerAcht
LayerAcht 27.07.2010 um 20:34:41 Uhr
Goto Top
Klasse!
Es funktioniert.

Vielen Dank für Deine Hilfe