C++ traitement sur les chaines de caracteres
Nanie
-
batmat Messages postés 1871 Date d'inscription Statut Membre Dernière intervention -
batmat Messages postés 1871 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous.
Voilà mon pb, j'ai une chaîne de caracteres ( ou plutot un tableau de caractere), . j'ai beau tourné mon programme dans tt les sens ca ne marche pas. Est ce que quelqu'un sais comment je peux faire?
Merci d'avance pour votre aide
Nanie
Voilà mon pb, j'ai une chaîne de caracteres ( ou plutot un tableau de caractere), . j'ai beau tourné mon programme dans tt les sens ca ne marche pas. Est ce que quelqu'un sais comment je peux faire?
Merci d'avance pour votre aide
Nanie
A voir également:
- C++ traitement sur les chaines de caracteres
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Traitement de texte gratuit - Guide
6 réponses
Zut..!! Desolee..hihi
mon pb c'est que dans cette chaine j'ai une sous chaine a enlever je sais pas quels caracteres cette sous chaine commence et fini, mais je ne connais pas sa longueur. Par exemple dans la chaine:
<TD align=center width=25%><FONT SIZE=1><A HREF="\\cronos\E\BIBLIO_2D_3D\plan_1.mov.bmp"><IMG SRC="\\cronos\E\BIBLIO_2D_3D\_-icons-_\plan_1.mov.jpg" border=0></A>
Je veux enlever la chaine du A href:
<A HREF="\\cronos\E\BIBLIO_2D_3D\plan_1.mov.bmp">
voila
mon pb c'est que dans cette chaine j'ai une sous chaine a enlever je sais pas quels caracteres cette sous chaine commence et fini, mais je ne connais pas sa longueur. Par exemple dans la chaine:
<TD align=center width=25%><FONT SIZE=1><A HREF="\\cronos\E\BIBLIO_2D_3D\plan_1.mov.bmp"><IMG SRC="\\cronos\E\BIBLIO_2D_3D\_-icons-_\plan_1.mov.jpg" border=0></A>
Je veux enlever la chaine du A href:
<A HREF="\\cronos\E\BIBLIO_2D_3D\plan_1.mov.bmp">
voila
tu peux utiliser strstr: il recherche la premiere occurrence de la chaine 1 dans la chaine 2.
dans ton cas, tu fais qch comme:
index_ptr = strstr(chaine, "<A"); // tu te retrouvera donc avec un pointeur sur le premier <A trouvé dans la chaine
il faut ensuite trouver la fin de la balise avec qch comme:
index2_ptr = strchr(index_ptr, >);
il reste plus qu'a ecraser cette partie de la chaine en copiant la fin de la chaine à l'adresse index_ptr
et ensuite trouver le </A> et le supprimer.
le probleme, c'est qu'il faut que ta page soit bien formée, car en HTML
on peux mettre:
<A HREF="truc.bmp">
<a HREF="truc.bmp">
< A HREF="truc.bmp"> (la j'ai mis un espace entre < et A)
etc...
dans ton cas, tu fais qch comme:
index_ptr = strstr(chaine, "<A"); // tu te retrouvera donc avec un pointeur sur le premier <A trouvé dans la chaine
il faut ensuite trouver la fin de la balise avec qch comme:
index2_ptr = strchr(index_ptr, >);
il reste plus qu'a ecraser cette partie de la chaine en copiant la fin de la chaine à l'adresse index_ptr
et ensuite trouver le </A> et le supprimer.
le probleme, c'est qu'il faut que ta page soit bien formée, car en HTML
on peux mettre:
<A HREF="truc.bmp">
<a HREF="truc.bmp">
< A HREF="truc.bmp"> (la j'ai mis un espace entre < et A)
etc...
Une tite erreur
>index2_ptr = strchr(index_ptr, '>');
Rappel pour nanie, index_ptr et index_ptr2 sont des char*
Dernière chose, si tu es en C++, pourquoi tu t'emmerdes avec des chaines de caractères ?!? utilise plutôt la classe string de la STL ...
@++
Poster, poster encore et toujours :-)
>index2_ptr = strchr(index_ptr, '>');
Rappel pour nanie, index_ptr et index_ptr2 sont des char*
Dernière chose, si tu es en C++, pourquoi tu t'emmerdes avec des chaines de caractères ?!? utilise plutôt la classe string de la STL ...
@++
Poster, poster encore et toujours :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour à tous,
Merci pour vos réponse! J'ai reussit a finir mon programme !!
Par contre je ne connaissais pas la classe String..? je vais essayer de me renseigner la dessus...
Bonne journée
Nanie
Merci pour vos réponse! J'ai reussit a finir mon programme !!
Par contre je ne connaissais pas la classe String..? je vais essayer de me renseigner la dessus...
Bonne journée
Nanie
La classe string est une classe (théoriquement) standard livrée avec STL (Standard Template Library).
http://www.sgi.com/tech/stl
c'est en fait :
typedef basic_string<char> string
Elle t'apporte une gestion encapsulée de la mémoire => plus de risque d'erreur de segmentation sous Linux (ou de lamentable plantage sous Windows ;p)
@++
Poster, poster encore et toujours :-)
http://www.sgi.com/tech/stl
c'est en fait :
typedef basic_string<char> string
Elle t'apporte une gestion encapsulée de la mémoire => plus de risque d'erreur de segmentation sous Linux (ou de lamentable plantage sous Windows ;p)
@++
Poster, poster encore et toujours :-)