Forum Imprimante

 Oublié Pass?
 Register
Rechercher
Voir: 2069|Réponse: 9

Strncpy C++ seconde partie de chaine

[Copier lien]

Post sur le : 2012-12-28 17:11:11 |Tout les posts
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.
Réponse

Accessoires Signaler

Post sur le : 2012-12-28 18:38:43 |Tout les posts
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
Réponse

Accessoires Signaler

Post sur le : 2012-12-28 20:36:52 |Tout les posts
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".
Réponse

Accessoires Signaler

Post sur le : 2012-12-28 21:38:29 |Tout les posts
Elle est ou la réponse de fiddy ?? Je suis preneur aussi d'une solution !
Réponse

Accessoires Signaler

Post sur le : 2012-12-28 23:05:03 |Tout les posts
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
Réponse

Accessoires Signaler

Post sur le : 2012-12-29 00:21:18 |Tout les posts
Est-ce que tu reçois toujours et uniquement fr: PARIS6 en paramètre? =/
Réponse

Accessoires Signaler

Post sur le : 2012-12-29 01:43:25 |Tout les posts
nan mais sa reste des truc du genre, en: LONDON2, fr: NANTES3. C'est toujours cette structure la.
Réponse

Accessoires Signaler

Post sur le : 2012-12-29 02:50:59 |Tout les posts
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) ;
Réponse

Accessoires Signaler

Post sur le : 2012-12-29 04:12:23 |Tout les posts
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.
Réponse

Accessoires Signaler

Post sur le : 2012-12-29 05:25:23 |Tout les posts
Sincèrement un grand merci pour cette solution. Effectivement cela fonctionne bien mieux que l'usine à gaz que j'ai mise en place.
Réponse

Accessoires Signaler

Vous devez vous connecter d'abord connect | Register

Contact Us| Archive| Forum Imprimante

GMT+1, 2024-03-29 00:52

Powered by Discuz! 7.2

Release 20121101, © 2001-2024 Forum Imprimante.

Top