====== strstr() ====== strstr ist definiert in der ''[[start|string]]'', die in C über ''string.h'', bzw. in C++ über ''cstring'' eingebunden wird. ===== Funktion ===== strstr() sucht einen Zeichenkette innerhalb eines Strings. ===== Signatur ===== #include const char * strstr( char const * string, char const * pattern ); char * strstr( char * string, char const * pattern ); **string**: Der zu durchsuchende String \\ **pattern**: Eine Zeichenkette, der im ersten gesucht wird. **Return value**: Der Adresse (char const *) des ersten Auftretens des gesuchten Musters im String oder NULL, falls das Suchmuster nicht im String gefunden werden konnte. Der zurückgegebene Zeiger zeigt auf das erste Zeichen des Suchstrings im ''string''. Es wird also kein neuer Speicher angefordert. ===== Fehlerquellen ===== Beide Strings müssen mit einen Nullbyte enden. Wird der Speicher des ''string''s freigegeben, wird auch der zurückgegebene Pointer ungültig. ===== Beispiel ===== #include // definiert strstr #include // definiert printf #include // definiert EXIT_SUCCESS int main () { char string[] = "http://www.proggen.org"; char pattern[] = "proggen"; char * pointer; pointer = strstr( string, pattern ); if( pointer ) { int length = pointer - string; printf( "String ab Pattern '%s' im String '%s': %s\n", pattern, string, pointer ); printf( "Pattern gefunden ab dem %d Zeichen\n", length ); } else puts( "Suchmuster nicht gefunden" ); return EXIT_SUCCESS; } **Ausgabe:** String ab Pattern 'proggen' im String 'http://www.proggen.org': proggen.org Pattern gefunden ab dem 11 Zeichen ===== siehe auch ===== [[c:lib:string:start|string]]: [[c:lib:string:strspn|strspn()]], [[c:lib:string:strcspn|strcspn()]], [[c:lib:string:strpbrk|strpbrk()]], [[c:lib:string:strcmp|strcmp()]], [[c:lib:string:strncmp|stncmp()]]