Forum: PC-Programmierung String in einem anderen String suchen


von Robert (Gast)


Lesenswert?

Hi @ all!

Ich habe ein Problem. Derzeit habe ich ein großes Array mit einem Inhalt 
einer Datei. Dort will ich einen String suchen. Derzeit suche mit 
strstr(). Das funktioniert auch super.

Der gesuchte String kommt aber mehrmals im Gesamtstring vor. Habe ich 
den ersten gefunden, will ich den 2. finden??

Wie mache isch denn das?? Hab derzeit nur umständliche Lösungen...)

Danke im Voraus

Gruß Robert

von Wilfried N. (zoice)


Lesenswert?

Das Ergebnis des ersten strstr() Aufrufes (ein Pointer auf char) dem 
naechsten strstr() Aufruf als erstes Argument uebergeben.

In etwa so:

...
char strLangerText[] = "Das ist ein Langer Text und ein sinnloser noch 
dazu";
char strGesuchtesWort[] = "ein";

char *pPosition = NULL;

pPosition = strstr(strLangerText, strGesuchtesWort);
/* erster Fund, pPosition zeigt auf 'e' */

pPosition += strlen(strGesuchtesWort);
/* pPosition zeigt nun auf ' ' */

pPosition = strstr(pPosition, strGesuchtesWort);
/* zweiter Fund */
...

Fehler und Irrtuemer vorbehalten

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.