Bonjour,
j'ai un const char* qui est en fait une string transformée.
J'aimerais copier ce const char* mais le problème, c'est que si je modifie la string, le const char* est aussi modifié.
Comment faire pour copier aussi la valeur pointée ?
Version imprimable
Bonjour,
j'ai un const char* qui est en fait une string transformée.
J'aimerais copier ce const char* mais le problème, c'est que si je modifie la string, le const char* est aussi modifié.
Comment faire pour copier aussi la valeur pointée ?
Donc tu veux copier le contenu d'un string dans un char*. Et si la string est modifiée, le char* doit aussi être modifié, c'est ça ?
non, justement pas. J'aimerais que le char ne soit pas modifié
Bon, ben fais une simple copie alors avec strncpy.
merci pour ta réponse.
ça marche
il y a juste un smiley qui apparait à la fin du const char * Pourquoi ?
ton PC est heureux?Citation:
Envoyé par oc_alex86
Parce que tu ne copies pas correctement ta chaîne, sans doute !Citation:
Envoyé par oc_alex86
Toute opération qui modifie une chaîne invalide les pointeurs et itérateurs préalablement obtenus.Code:
2
3
4
Bref, si tu dois extraire un pointeur sur ta chaine, tu devras copier les contenus.
C'est pas dans la FAQ ?
Tiens ça sert à quoi de mettre 2 fois le mot-clef const ? :oCitation:
Envoyé par Luc Hermitte
"const" s'applique toujours sur ce qui le précède => FAQ.
Je sais bien que const s'applique à ce qui précede et j'ai beau aller voir dans la FAQ, je vois toujours pas à quoi ça sert de mettre le 'const' apres '*'
Le pointeur et l'espace pointé sont constants.
Ca veut donc dire que le pointeur pointe toujours vers la meme zone memoire et qu'on peut pas faire :
Je me trompe ?Code:
2
3
4
Non, tu ne te trompes pas.