Suche
Suche Menü

Zeichen-Set suchen

Auffinden von Zeichen in einem String mit strpbrk in C

char * strpbrk(char *string, char *spanset);

Mit strpbrk finden wir alle vorkommenden Zeichen in einem String, welche in spanset übergeben werden. Der Rückgabewert ist ein char Zeiger auf das gefundene Zeichen.

In diesem Beispiel suchen wir die ersten 2 Ziffern in einem String. Es wird ein Such-Zeiger verwendet, welcher den Such-Anfang bestimmt. Bei einem Fund zeigt der Such-Zeiger auf das gesuchte Zeichen. Im nächsten Such-Durchlauf muss der Such-Zeiger im String eine Position weiterrutschen, damit die nächste Ziffer gefunden werden kann.

char string[] = "aa2aa5aa6aa";
char spanset[] = "1234567890";

// Such-Zeiger auf den Beginn von string setzen
char *ptr = string;

// naechste Ziffer suchen
ptr = strpbrk(ptr, spanset);

printf("Ziffer gefunden: %c\n", *ptr);

// Such-Zeiger weiterruecken
ptr++;

// naechste Ziffer suchen
ptr = strpbrk(ptr, spanset);

printf("Ziffer gefunden: %c\n", *ptr);

Ziffer gefunden: 2
Ziffer gefunden: 5