Zeichen mit strchr in einem String suchen in C
char * strchr(char *s, int c);
Mit String Char können wir ein Zeichen in einem String suchen. Das zu suchende Zeichen wird mit dem Parameter c als ASCII-Code übergeben.
Die Rückgabewerte:
- NULL, wenn das Zeichen nicht gefunden wurde
- Adresse des ersten gefundenen Zeichens, wenn es vorkommt
char string[] = "aaXaa"; if(strchr(string, 'X')) { printf("String enthaelt ein X\n"); }
String enthaelt ein X
Rückwärts suchen
Mit String Reverse Char beginnen wir am Ende des Strings zu suchen. Wird das Zeichen gefunden, ist dies das letzte Vorkommen des Zeichens im String. In dem Beispiel werden die gefundenen Zeichen verändert, was das unterschiedliche Verhalten der Funktionen strchr und strrchr demonstrieren soll.
char * strrchr(char *s, int c);
char string[] = "aaXaaXaa"; printf("vorher: %s\n", string); char *c1 = strchr(string, 'X'); char *c2 = strrchr(string, 'X'); *c1 = 'A'; *c2 = 'B'; printf("nachher: %s\n", string);
vorher: aaXaaXaa nachher: aaAaaBaa