C++ traitement sur les chaines de caracteres

Nanie -  
batmat Messages postés 1880 Date d'inscription   Statut Membre -
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

6 réponses

  1. nanie
     
    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
    0
  2. TaNeloRn
     
    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...
    0
  3. batmat Messages postés 1880 Date d'inscription   Statut Membre 114
     
    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 :-)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Nanie
     
    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
    0
  6. batmat Messages postés 1880 Date d'inscription   Statut Membre 114
     
    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 :-)
    0