Hallo zusammen,
ich habe ein Problem bei meinem C++ Programm, welches die Temperatur von meinem Sensor auslesen soll.
Der Temperatursensor schreibt wie folgt die Daten in eine Datei
Nun wollte ich mit Hilfe von einem Pattern die erste Zeile prüfen, ob der CRC Check in Ordnung ist.
Nur leider klappt das nicht mit der Methode regex_match()
Ich hoffe ihr könnt mir weiterhelfen und sagen wo mein Fehler liegt?
Hier der Code dazu.
Code
void readTemperatur() {
//Variablen
bool first = true;
fstream file;
string line;
regex crcOk ("^(.*)(YES)(.*)$");
//Datei aufmachen
file.open("/sys/bus/w1/devices/10-000802ae3eaa/w1_slave", ios::in);
//Datei offen?
if (file.is_open()) {
while(!file.eof()) {
getline(file, line);
if (first) {
first = false;
if (!regex_match(line.begin(), line.end(), crcOk)) {
printf("CRC nicht in Ordnung.\n");
break;
}
} else {
printf("Temperatur: '%s'", line.c_str());
}
}
file.close();
}
}
Alles anzeigen
Vielen Dank für eure Hilfe!