Partage
  • Partager sur Facebook
  • Partager sur Twitter

strstr en C++

ou fonction similaire

Sujet résolu
    16 septembre 2007 à 19:19:15

    Salut à tous, je viens d'apprendre le C++ jusqu'à la fin du chapitre sur les strings. Et je ne vois pas de fonction qui recherche une chaine dans une autre. J'ai essayé la fonction strstr() du C mais ça ne marche pas.
    Pouvez vous m'aider?
    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2007 à 19:25:04

      Bonjour.

      std::string::find(std::string) permet de chercher une chaine dans une autre.
      Elle renvoie la position de la chaine trouver dans la chaine principal.
      Si elle n'a rien trouver elle renvoie -1.
      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2007 à 19:36:14

        merci pour ta réponse mais pourrais tu me donner un exemple d'utilisation stp?
        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2007 à 20:11:41

          Ouaip.

          1. std::string chaine1("Bonjour !");
          2. std::string chaine2("jour");
          3. int pos = 0;
          4. pos = chaine1.find(chaine2);
          5. if(pos != -1)
          6. std::cout << "Chaine2 trouver dans chaine2 a la position : " << pos << endl;
          7. else
          8. std::cout << "Chaine2 n'a pas ete trouver dans chaine1" << endl;


          Sa affiche normalement que chaine 2 a ete trouvée en 4 car la chaine trouvée commence au quatrième caractère.
          • Partager sur Facebook
          • Partager sur Twitter
            17 septembre 2007 à 0:31:39

            Pas -1, mais std::string::npos (std::string::find renvoie une donnée non signée de type std::string::size_type (et non int))
            • Partager sur Facebook
            • Partager sur Twitter
            C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
              17 septembre 2007 à 19:03:21

              Oups désoler j'ai répondus de tête :p
              • Partager sur Facebook
              • Partager sur Twitter

              strstr en C++

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown