Salut à tous , voila j'ai un enorme probleme de char* depuis quelques temps et vu ma totale incompetence en C je trouve pas la solution , si quelqu'un peut m'aider!
Code :
- char** listNoms;
- char nom[20];
- fscanf(fp,"Nombre de noms: %d\n",&numNoms);
- listNoms=(char**)malloc(numNoms*sizeof(char*));
- for(i=0;i<numNoms;i++){
- fscanf(fp,"NOM :%s\n",nom);
- listNoms[i]=(char*)malloc(sizeof(char)*20);
- strcpy(listNoms[i],nom);
- }
|
Voila mon code, en gros il doit recuperer a partir d'un fichier texte une liste de noms.
Mon problème est que lorsque je fais un printf de mon tableau listNoms ca affiche bien tous mes noms, donc ce bout de code est sensé fonctionner, mais quand je veux reutiliser ma listeNom plus tard dans une autre fonction, ca ne marche pas.
Par exemple si je fais :
afficherNom(listNoms[0]);
avec cette fonction definie comme void afficherNom(const char * nom);
mon compilateur bug. Si quelqu'un connait la solution parce que la je suis en train de peter un cable ^^.
Merci