Bonjour,

J'ai codé 2 fonctions. L'une (lectureFichier) qui lit dans un fichier et stocke n caractères dans un tableau pour retourner ce tableau.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
FILE *fichier = NULL;
        fichier = fopen(fichierATester, "rb");
 
	unsigned char *lecture = NULL;
 
	lecture = malloc(n*sizeof(unsigned char));
La seconde appelle cette 1ere fonction pour en manipuler le tableau renvoyé.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
unsigned char *lecture = lectureFichier(<paramètres>);
Lorsque j'appelle lectureFichier dans une boucle, pas de souci, celle-ci s'exécute.

Lorsque j'appelle la 2nde, elle "bloque" à 2 itérations et j'ai l'erreur suivante:

L'instruction à "0x......." emploie l'adresse mémoire "0x01010101". La mémoire ne peut pas être "read".
Je ne vois pas d'où peut venir le problème puisque l'allocation se passe très bien dans lectureFichier...

Des idées?

Merci d'avance.