file
-
bytesRead += (unsigned int)fread(&bChunkLength, 1, 4, m_fp);funktioniert nicht mehr bei fstream.
bytesRead += (unsigned long) file_.read((char*) &length, 4);error C2440: 'Typumwandlung': 'std::basic_istream<_Elem,_Traits>' kann nicht in 'unsigned long' konvertiert werden
Welche Alternativen gibt es?
-
iostream::read() gibt nicht die Anzahl der gelesenen Zeichen zurück, sondern den stream-Status. Aber du kannst nach dem read() per gcount() abfragen, wieviel du eingelesen hast:
file_.read((char*)&length,sizeof(length); bytesRead+=file_.gcount();