Bonjour tout le monde,
J'aimerais savoir si quelqu'un sait comment ça se fait que lorsque je renvois une chaine de caractères qui est censée contenir la totalité des caractères de mon fichier emf, seuls les 223 premiers caractères de la chaine renvoyé sont corrects, les autres caractères étant tous égaux à 255.
Merci beaucoup car je ne vois absolument pas à quoi c'est du.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30 BSTR CPrjDoc::getMetaFile() { CString strResult; //Calcul de la taille du fichier DWORD taille = 0; HANDLE hfl = CreateFile("F:\\fichier.emf", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); if(hfl != INVALID_HANDLE_VALUE) { taille = GetFileSize(hfl, 0); CloseHandle(hfl); //Ouverture du fichier en lecture ifstream mf("F:\\fichier.emf") ; if(mf.good()) { //Lecture des caractères du fichier while(!mf.eof()) { strResult+= mf.get(); } } mf.close(); } return strResult.AllocSysString(); }
Partager