[c++] String zwischen 2 Strings

Unicate

Erfahrenes Mitglied
Hallo Leutz!

Ich brauche eine Methode, die mir einen String zwischen zwei anderen zurueck gibt.

Bsp:
Meine Textdatei sieht so aus:
Ida geht ums Haus. ^^
Und Oma auch *hrhrhr*

Methode:

Code:
string test = this->getStringBetween("Und", "auch");
cout << test;

sollte nun: " Oma " zurückgeben falls ihr versteht.

Ich weiß nicht wie ich anfangen soll.

Ich würde die ganze Datei warscheinlich als variable zwischenspeichern, was sehr speicher fressend ist.
 
Spontane Idee wäre die Find Methode vom CString.

Code:
int nIndex, nIndex2;
nIndex = strText.Find( "Und");
nIndex2 = strText.Find( "auch", nIndex);
strWort = strTex.Mid(nIndex, nIndex2-nIndex);

Gruß
tino
 
Ich glaube eher so, der erste String soll ja nicht mit ausgegeben werden.

Code:
CString sSuchString("....");
CString sZwischen;
CString sSuche1("Und");
CString sSuche2("auch");

int nIndex1 = sSuchString.Find( sSuche1);
int nIndex2 = sSuchString.Find( sSuche2, nIndex1);
sZwischen = sSuchString.Mid(nIndex1+sSuche1.GetLength(), nIndex2-nIndex1-sSuche1.GetLength());

Speicherfressend....kommt drauf an wie gross die Datei ist und mit wieviel RAM du rechnest.
 
Zuletzt bearbeitet:
Zurück