pluj a écrit :
Oui, vu que tu as modifié chaine (l'incrémentes en ligne 10), l'adresse fournie à free ne colle plus [avec celle obtenue du malloc].
Passes par une variable intermédiaire par exemple (p ici) :
Code :
#include <stdio.h> #include <stdlib.h> int main(int k, char * ldc[]) { char *p, * chaine = malloc(256); FILE * flux = fopen(ldc[1], "r" ); fgets(chaine, 256, flux); for (p = chaine; *p; p++) { int e = (int) *p; } fclose(flux); free(chaine); return EXIT_SUCCESS; }
|
Bon, ça manque de contrôle et compagnie.
|