oula alors fallait me dire ca dés le début
le buffer quand tu lis les données n´est pas terminé par ´\0´ pour pouvoir être affiché en tant que chaine de caractères, du coup ca affiche le buffer + n´importequoi en mémoire qui suit les données.
Tu peux remplacer le code + haut par :
define SIZE_BUFFER ( 1*1024) / / 1 Ko
FILE *pFile;
char Buffer[SIZE_BUFFER+1]; / / Attention ne pas oublier le +1
size_t nRead;
if ( ! ( pFile = fopen("fichier.txt","rb")) )
{
/ / erreur d´ouverture
/ / sortir . . .
}
while(!feof(pFile))
{
nRead = fread(Buffer,sizeof(char),SIZE_BUFFER,pFile);
if ( nRead)
{
Buffer[nRead] = 0;
printf("%s",Buffer);
}
}
fclose(pFile);
Mais si c´est pour affiche du texte il existe d´autres méthodes pour lire un fichier texte, ligne par ligne etc...