Comment puis-je obtenir une chaîne entre deux autres chaînes déclarées, par exemple: source: p> Comment peut-on Je reçois le "J'ai besoin de ce texte ici" code>? P> p>
3 Réponses :
Utiliser strtstr code> 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
Cette solution vous ouvre beaucoup de problèmes. "[String2] xx [string1] yy [string2]" me jette à l'esprit.
Comme il s'agit de devoirs, seuls des indices: p>
index1 code> de l'occurrence de string1 code> li>
- Trouver
index2 code> de l'occurrence de string2 code> li>
- SUBSTURRING à partir de
Index1 + Longueur de (String1) Code> (Inclusive) à Index2 Code> (Exclusif) est ce dont vous avez besoin
- Copiez-le sur un tampon de résultat si nécessaire (n'oubliez pas de terminer NULL) LI>
ul> li>
ul>
Peut être un bon cas pour STD :: regex, qui fait partie de C ++ 11. impressions: p> 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. P> Pour plus d'informations, voir