Traitement de chaine [Résolu]

Signaler
Messages postés
21
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
8 janvier 2008
-
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
-
Bonjour, j'ai une chaine du type "Dev1/ai14" que j'aimerais traiter.
J'aimerais récupérer une chaine avant le "/" donc "Dev1" et ensuite récupérer "a" puis "i".
Je suis perdu est ce que quelqu'un connait la fonction à utiliser et pourrais me donner un exemple.

Merci

J.

6 réponses

Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
1ere partie : tu peux récupérer chaque caractère (chaine[i]) jusqu'a trouver un '/' avec un while
2eme partie : tu veux trouver a et i à tous prix (1)? ou bien les deux lettres qui suivent le slash (2)?
si 1 : strstr(chaine,caractère) te retournera un pointeur sur le caractère recherché. vérifie que c'est bel et bien après le slash dans la chaine
si 2 : tu te places à la hauteur du slash grâce à strstr() et tu te décales de un, tu récup le char et tu redécales et tu récups.

sinon j'ai peut-être pas bien compris la question :p

Loki
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
char * ptslash = strstr(cLabel,'/');
char lettre1 = ptslash[1];   // a
char lettre2 = ptslash[2];   // i// car ptslash "/ai14"> d'où ptslash[0] == '/' et ptslash[1] == 'a' etc...

Loki
Messages postés
21
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
8 janvier 2008

oki pour la première partie c'est bon, c'est merci.
Sinon pour la deuxieme partie, tu as bien compris je suis dans le cas 2, c'est à dire que je me place après le /
je trouve donc avec strstr(cLabel, '/') le pointeur sur '/' mais comment je fais pour récupérer le a et le i après?
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

ben si ton pointeur sur le '/' est ptr,

*(ptr+1) = 'a'

et

*(ptr+2) = 'i'
Messages postés
21
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
8 janvier 2008

oki merci loki c'est ce qu'il me fallait.
je savais pas pour le ptslash[i]...
merci aussi à THEwarrior333

bye

J.
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
de rien continue bien (t'es mon premier gars content de ma réponse ! champagne!!!)

Loki