Recherche de chaine de caracteres... - C++ - Programmation
Marsh Posté le 07-03-2003 à 15:11:49
essaye "%s[^#]#"
fais une recherche sur sscanf pour plus d'exemples
Marsh Posté le 07-03-2003 à 15:33:13
en fait le sscanf fonctionne nickel si on met des espaces.
mais sans espace y a pas moyen...
au fait j'avais oublier line est unsigned short [200];
comme les autre valeurs a chercher..
Marsh Posté le 11-03-2003 à 12:16:46
et pq ne pas lire les caracteres de line un par un jusqu'a trouver '#' et les mettre en meme temps ds un tableau de char?
Marsh Posté le 14-03-2003 à 16:03:07
c une solution mais les boucles je trouve ca pas top.. mais chacun son avis (rq si j'avais pas trouvé j'aurais fait ca)
bon pour ceux que ca interresse j'ai trouvé une autre solution.
j'utilise :
ptr=line;
ptr1=mystrstr(ptr, LHS_T("#" )); /*recherche du caractere*/
*ptr1='\0'; /*on met \0 a la place */
mystrcpy(Res,ptr); /*on copie le resultat ds la variable*/
ptr1++; /* on sepl ace au caractere suivant*/
ptr=ptr1; /* pour continuer line*/
voila voila
merci bien
Marsh Posté le 14-03-2003 à 16:07:26
je viens de trouver un truc qui pourra peut etre t'interesser.
strtok
va voir dans l'MSDN c'est bien explique.
dsl de pas avoir pu te repondre plus tot.
Marsh Posté le 14-03-2003 à 16:09:29
et pour savoir combien il y en a, tu peux utiliser cette fonction qui m'a ete donnee par un forumeur.
Code :
|
Marsh Posté le 07-03-2003 à 15:02:07
comment identifier des chaines de caracteres dans une chaine de carateres... je m'explique:
j'ai la chaine suivante contenue ds la variable "line"
ref#pcm_path#speaker#gender#reference
et je voudrai recuperer les valeurs qui sont entre les #
pour le moment je fait
mysscanf(line,"ref#%s#%s#%s#%s" ),Pcm_path,Speaker,Gender,Reference);
mais avec cette commande je ne recuepere que Pcm_path avec la valeur pcm_path#speaker#gender#reference.
comment separer le reste???
merci