pb de parametres en C... - C - Programmation
Marsh Posté le 17-10-2006 à 00:10:02
ezeta a écrit :
|
Problème récurrent. Modifier un paramètre ne sert à rien (en tout cas, ça ne change pas la valeur initiale de la variable, puisque le paramètre est une copie de la valeur initiale (variable locale).
Il faut
- soit passer l'adresse de la variable à modifier,
Code :
|
- soit retourner une valeur et la stocker dans la variable.
Code :
|
Marsh Posté le 17-10-2006 à 00:13:28
justement, le parametre en question ici est un char* c'est donc un pointeur sur une chaine de charactere...
Marsh Posté le 17-10-2006 à 00:17:24
ezeta a écrit : justement, le parametre en question ici est un char* c'est donc un pointeur sur une chaine de charactere... |
Et ? Quelle est la valeur que tu as passée ? Celle d'un pointeur non intialisé ? Comportement indéfini.
Je t'ai montré les 2 solutions. Laquelle se rapproche de la tienne ? Je dirais aucune. Donc ton code est buggé.
Fait ce que je te dis et ça fonctionnera.
Marsh Posté le 17-10-2006 à 00:26:08
Tu avais raison... mais c'est un peu tordu: en effet, lorsque l'on utilise des chaine de charactere on utilise des pointeurs sur des chaines de caractere.
Donc pour passer une chaine de charactere en parametre en mise a jour, il faut passer un pointeur de pointeur: char**
... et ça marche !
merci
Marsh Posté le 17-10-2006 à 00:29:24
ezeta a écrit : char** |
Je suis content d'avoir réussi à te décoincer le neurone...
Marsh Posté le 16-10-2006 à 23:27:26
Salut, je programme en C, et j'ai un probleme lors d'appel d'une fonction:
qui fait appel à :
à l'execution j'ai ceci:
nb:251
Lecture texte:
le probleme est donc que les caractères lu existent bien dans le sous programme, mais une fois à l'exterieur le parametre ne retourne rien.