Problem mit InternetReadFiles - Problem mit geladenen Bytes
-
Hallo,
habe ein Problem mit InternetReadFiles.
Und zwar das er mir bei der gelesen Datei nicht die richtige Anzahl der Bytes in
lpdwNumberOfBytesRead schreibt.
Weiß echt überhaupt nicht was falsch ist:double read; int bytes; err = InternetReadFile(hFile,ptr,available,&bytes); if(bytes != 0) { read = bytes; read = read / 1024; //kb printf("read: %.2lf\n",read); }Wenn ich eine Datei lese mit 900kb zeigt er mir manchmal 900kb an oder manchmal auch 1,24kb.
-.-
In der Variablen bytes befindet sich manchmal ein Wetrt von 1269 und manchmal ein Wert von 87890625 an.
Also liegts wohl irgendwie an der bytes Variable.
Finde aber den Fehler nicht.
-
vieleicht hilft dir das weiter: (msdn)
...A normal read retrieves the specified dwNumberOfBytesToRead for each call to InternetReadFile until the end of the file is reached. To ensure all data is retrieved, an application must continue to call the InternetReadFile function until the function returns TRUE and the lpdwNumberOfBytesRead parameter equals zero...
-
Ne hilft mir leider nicht wikrlick weiter.
-
Wenn ich es jetzt so mache klappt es:
double read; int bytes; err = InternetReadFile(hFile,ptr,available,&bytes); if(bytes != 0) { read = read + bytes; read = read / 1024; //kb printf("read: %.2lf\n",read); }