Bonjour � tous,
Sur VC++, j'essaie de programmer un petit programme permettant de lire caract�re par caract�re une cha�ne contenue dans un fichier texte, en C.
Or le programme lit bien la cha�ne en question, mais ajoute syst�matiquement des caract�res bizarres � la fin de la cha�ne lue. Est-ce que quelqu'un comprend pourquoi ?
La variable taille_fichier est bien initialis�e avec le nombre d'octets du fichier, qui correspond bien au nombre de caract�res de la cha�ne � afficher...
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
31
32 int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { FILE * f_out; WIN32_FILE_ATTRIBUTE_DATA attr ; int i = 0 ; int taille_fichier = 0 ; char ch = ' ' ; char* szBuffer ; f_out = fopen("Test.txt","r") ; GetFileAttributesEx("Test.txt", GetFileExInfoStandard, &attr) ; taille_fichier = attr.nFileSizeLow ; szBuffer = (char *)calloc(taille_fichier, sizeof(char)) ; fseek(f_out, SEEK_SET, 0) ; for (i = 0 ; i < taille_fichier ; i++) { ch = fgetc(f_out); szBuffer[i] = (char)ch; } fclose(f_out) ; MessageBox(NULL, szBuffer, "Test Lecture", MB_OK) ; free(szBuffer) ; return 0 ; }
Alors pourquoi cet ajout de caract�res bizarres � la fin de szBuffer ??? Et comment y rem�dier ?
Partager