Do While Frage,ganz einfach ... aber ich sehs nicht
-
Hallo
könnte mir bitte jemand die Schleifenbedingung erklären.
Wenn 8 Bytes ankommen, würde er die Schleife doch nie verlassen
da der Speicher dich 100 groß ist.
Der Code ist natürlich korrekt, aber ich hab gerad n Brett vorm Kopf
DWORD dwBytesRead = 0; BYTE abBuffer[100]; do { // Read data from the COM-port serial.Read(abBuffer,sizeof(abBuffer),&dwBytesRead); if (dwBytesRead > 0) { // TODO: Process the data } } while (dwBytesRead == sizeof(abBuffer));Würd mich freuen wenn ihr mich erleuchtet

Gruß
Sven
-
while (dwBytesRead == sizeof(abBuffer))While läuft nur weiter, wenn die Bedingung wahr ist
8 == 100 ? falsche Ausage -> Schleife abbrechen!
Die Schleife läuft also nur weiter, wenn immer genau 100 Byte gelesen werdenm weil
100 = 100? wahre Aussage -> neuer Durchlauf, q.e.d