lectureok=fscanf(fichierCMD, "%s", m);
m doit être l'adresse du début d'un tableau de char, pas un pointeur (à moins que ce pointeur contienne l'adresse du début d'un tableau, ce qui n'est pas le cas vu qu'il n'est pas initialisé)
On attend donc la définition
char m[....];// avec une taille suffisante
} while (lectureok==1 && fgetc(fichierCMD)!=EOF);
le fgetc.... est inutile. En cas de fin de fichier (ou d'erreur) on aura lectureok !=1
1 2 3 4
| if(size == 0) {
printf("fichier vide !\n");
}
tabCMD = (char*) malloc(size * sizeof(char)); |
Si size==0 il ne faut PAS faire le malloc (on a alors malloc(0)).
Accessoirement, le cast du retour de malloc est inutile et par définition sizeof(char)==1
Partager