cs_briareos
Messages postés3Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention23 avril 2005
-
23 avril 2005 à 16:37
cs_briareos
Messages postés3Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention23 avril 2005
-
23 avril 2005 à 20:05
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!
char** listNoms;
char nom[20];
fscanf(fp,"Nombre de noms: %d\n",&numNoms);
listNoms=(char**)malloc(numNoms*sizeof(char*));
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 ^^.
vangeurmasker
Messages postés99Date d'inscriptionmercredi 12 mai 2004StatutMembreDernière intervention29 mars 2006 23 avril 2005 à 19:12
salut
Dans ta premiere fonction je ne vois pas l'interet d'utiliser la
variable nom si t'aloue 20 char systematiquement pour listNom[i].
Utilise la fonction int strlen(char * chaine); dispo dans string.h.
Pour l'erreur de compilation tente en déclarant void afficherNom(char * nom);
Indique nous aussi l'erreur que te retourne le compilo.
cs_briareos
Messages postés3Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention23 avril 2005 23 avril 2005 à 19:30
pour le changement de type dans le parametre de afficherNom , j'ai tenté char* mais le probleme reste le meme, pareil en ce qui concerne le malloc que j'ai changé comme tu l'indique.
L'erreur que me sort visual studio est Access Violation au niveau de mon afficherNom