Guest schrieb:
> So bekomme ich schonmal die Temperatur und das Modell:
Gut. Du solltest den Filepointer nach dem fopen noch prüfen, ob der Open
denn auch funktioniert hat. Sonst crasht Dein Programm beim
nachfolgenden fgets().
> Jetzt hab ich aber nich Befehle wie:
>
> CPU Spannung:
>
> vcgencmd measure_volts
>
> Und CPU Frequenz:
>
> vcgencmd measure_clock arm
Du musst also hier doch die Ausgabe eines externen Programms auswerten.
Erste Möglichkeit:
Du rufst das Programm mit Umlenkung auf eine Datei auf, also zum
Beispiel:
system ("vcgencmd measure_volts >/tmp/volts");
und liest dann die Datei /tmp/volts aus - genauso wie Du das mit fopen()
und fgets() für die Temperatur gemacht hast.
Zweite Möglichkeit:
Diese wäre dann schon höhere Programmierkunst. Du öffnest aus Deinem
Programm eine Pipe zu dem externen Programm per fork(), dup(), exec()
und liest direkt vom Programm - genau so, wie eine Shell die Ausgabe
eines Programms per Pipe an ein anderes Programm weitergibt.
Aber wie ich Deinen Wissensstand einschätze, ist das noch zu früh für
Dich. Benutze also Möglichkeit 1. Die ist trivial. Wenn Dich der feste
Name /tmp/volts stört (auf Mehrbenutzersystemen könnte es da schon mal
zu Konflikten kommen), schau Dir das Manual zu mktemp() an. Das wäre
aber dann erst im nächsten Schritt zu tun.