[c++] char * en param de fonction

Résolu
hof -  
 hof -
Bonjour,

voici une version simplifié de mon code

void ma fonction(){
char * nom=NULL;

creerNom(nom);
cout<<nom<<endl; // ca plante ici
}

void creerNom(char * p ){
p = "fred";
cout<<p<<endl; // ca marche
}

ca passe a la compile mais a l'execution ca plante a cause du "char *"
je ne peux utiliser qu'un char *, pas de string
je vois pas trop quoi faire, pourrize vous m'aider

merci d'avance
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Normal, tu passes une copie du pointeur. Donc il ne sera pas modifié par la fonction. Tu dois utiliser un double pointeur.
Teste plutôt :
void creerNom(char ** p ){
*p = "fred";
cout<< *p<<end;
} 

Et pour l'appeler :
char *nom=NULL;
creerNom(&nom);

Cdlt
0
hof
 
merci
0