Bonjour � tous !
J'essaie de lire un gros fichier par blocs.
N'ayant pas compris le FileMapping, j'essaie plut�t avec des classes trouv�es dans C++Builder : TFileStream et TMemoryStream.
J'ai un doute quant au fonctionnement de la m�thode CopyFrom qui devrait me permettre
de copier des blocs (60000 bytes dans l'exemple ci-bas). En effet, d�s que le dernier bloc est lu et copi� vers un TMemoryStream - parceque celui-ci ne mesure pas 60000 bytes - �a provoque un "Stream Read Error" que je ne peux m�me pas contourner avec un try / catch ?!?!?
Si vous avez des suggestions...
Voir le code source suivant :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 TBytes myBytes; std::auto_ptr<TFileStream> LFileStream(new TFileStream(fileName.c_str(), fmOpenRead)); std::auto_ptr<TBytesStream> myBytesStream(new TBytesStream(myBytes)); long res=1; while(res>0) { try{ res = myBytesStream->CopyFrom(LFileStream.get(), 60000); } catch(char *excp){ } }
Partager