Ich möchte Werte in einem Array in C mithilfe von System() sammeln.Abrufen von Werten mit System() in C
mit:
hcidump -a | egrep 'RSSI|bdaddr' | grep -A1 --no-group-separator 'bdaddr 78:A5:04:17:9F:66' | grep -Po 'RSSI:\s+\K.*'
eine Ausgabe wie folgt aus:
-25
-24
-23
-26
-26
und dass Werte in einem Array in C gespeichert werden soll, aber das ist nicht möglich, nehme ich an, mit:
system("hcidump -a | egrep 'RSSI|bdaddr' | grep -A1 --no-group-separator 'bdaddr 78:A5:04:17:9F:66' | grep -Po 'RSSI:\s+\K.*'");
Hat jemand eine Idee, wenn es einen Befehl gibt, um das zu erreichen? oder ein Workaround? Meine einzige Idee ist es, die Daten in eine Datei zu schreiben und danach die Informationen daraus zu lesen, aber ich hätte gerne eine bessere Lösung.
freundlichen Grüßen Adrian
Lesen Sie über ['popen'] (http://man7.org/linux/man-pages/man3/popen.3.html). –
'popen()' ist das Werkzeug der Wahl hier, vereinbart. 'system()' führt Sie nirgendwohin, Sie haben keinen direkten Zugriff auf die Programmausgabe. – tofro
https://stackoverflow.com/questions/1583234/c-system-function-how-to-collect-the-output-of-the-issued-command – Mine