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){
 
	 	}
	}