7
votes

Obtenir une corde entre 2 cordes

Comment puis-je obtenir une chaîne entre deux autres chaînes déclarées, par exemple: xxx

source: xxx

Comment peut-on Je reçois le "J'ai besoin de ce texte ici" ?


0 commentaires

3 Réponses :


0
votes

Utiliser strtstr http: //www.cplusplus .com / référence / clibrary / cstring / strstr / , avec cette fonction, vous obtiendrez 2 pointeurs, vous devez maintenant les comparer (si le pointeur1 entre eux.


1 commentaires

Cette solution vous ouvre beaucoup de problèmes. "[String2] xx [string1] yy [string2]" me jette à l'esprit.



8
votes

Comme il s'agit de devoirs, seuls des indices:

  • Trouver index1 de l'occurrence de string1
  • Trouver index2 de l'occurrence de string2
  • SUBSTURRING à partir de Index1 + Longueur de (String1) (Inclusive) à Index2 (Exclusif) est ce dont vous avez besoin
    • Copiez-le sur un tampon de résultat si nécessaire (n'oubliez pas de terminer NULL)

0 commentaires

3
votes

Peut être un bon cas pour STD :: regex, qui fait partie de C ++ 11. xxx

impressions: xxx

Ce que j'ai fait était de créer un programme qui crée deux chaînes, début et fin qui servent de matchs de départ et de fin. J'utilise ensuite une chaîne d'expression régulière qui recherchera celles-ci et correspond à quoi que ce soit entre tout entre les deux (y compris rien). Ensuite, j'utilise regex_match pour trouver la partie correspondante de l'expression et définir appariée comme la chaîne correspondante.

Pour plus d'informations, voir http://fr.cpppreference.com/w/cpp/regex et http://fr.cppreference.com/w/cpp/regex/regex_search


0 commentaires