Les Allergies
Alimentaires
Posez votre question Signaler

Strncpy C++ seconde partie de chaine

JoeC++ - Dernière réponse le 15 juin 2011 à 10:51
Bonjour,
A la lecture d'un tag 2D je reçois la chaine de caractères suivante "fr: PARIS6". Je ne doit traiter que "PARIS6".
Je dois donc découper mon char* de façon à ne conserver que "PARIS6".
J'ai utilisé la fonction strncpy() je récupéré bien "fr: " mais c'est la seconde partie de la chaine que je veux avoir. Comment arriver à avoir un char* contenant uniquement "PARIS6" ?
Merci de vos réponses.
Lire la suite 

Strncpy C++ seconde partie de chaine »

9 réponses
Réponse
+1
moins plus
Beh ma réponse se trouve au premier post...
Soit tu fais : char *p=tab+4;
Soit tu remplaces tab par tab+4 dans ton strncpy.
Si c'est pas assez précis, poste-nous ton code entre deux balises "code" (à droite du bouton "souligné", et je t'indiquerai l'implémentation.
Cdlt,

Google is your friend
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Cela ne serait pas plus simple de prendre un pointeur et de le faire pointer sur le P ?
Cela donnerait par exemple : char *p=tab+4;
Avec strncpy, sinon il faut utiliser le même principe : dans la chaîne source, il faut mettre tab+4 au lieu de tab. (tab étant la chaîne de caractère qui vaut "fr: PARIS6".
Ajouter un commentaire
Réponse
+0
moins plus
Elle est ou la réponse de fiddy ?? Je suis preneur aussi d'une solution !
baladur13- 15 juin 2011 à 10:51
Bonjour
Pour info..
Les commentaires mis sur la question initiale ne sont visibles que par les membres inscrits..
J'ai donc transformé le commentaire en réponse
http://www.commentcamarche.net/forum/affich-22352776-strncpy-c-seconde-partie-de-chaine#1
Ajouter un commentaire
Réponse
+0
moins plus
Est-ce que tu reçois toujours et uniquement fr: PARIS6 en paramètre? =/
JoeC++ - 14 juin 2011 à 08:51
nan mais sa reste des truc du genre, en: LONDON2, fr: NANTES3. C'est toujours cette structure la.
Ajouter un commentaire
Réponse
+0
moins plus
Alors voila,
//Ici j'ai le contenu de base du tag (fr: PARIS6 pour cet exemple) récupéré depuis le catalogue général. 
char* fullbody = (char*)getContext()->findData("body_505",NULL) ; 


//ici il faut travailler char* body, pour avoir la valeur "PARIS6" 
char* body = ... 


//Au final,je met le char* final dans le catalogue local (body le char* final qui vaut "PARIS6") 
getContext()-> 
getMasterContext()>replaceMemData("KEY_MUST_GNFC_CONTENT",(char*)body) ; 
fiddy- 14 juin 2011 à 10:56
Ben, comme je t'ai dit : char *body = fullbody+4;
Après tout dépend si tu veux un tableau ou si pointer sur la chaîne fullbody+4 suffit.
JoeC++ - 14 juin 2011 à 11:59
Sincèrement un grand merci pour cette solution. Effectivement cela fonctionne bien mieux que l'usine à gaz que j'ai mise en place.
Ajouter un commentaire
Ce document intitulé « strncpy C++ seconde partie de chaine » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?