Dies ist eine alte Version des Dokuments!


strstr()

strstr ist definiert in der string, die in C über string.h, bzw. in C++ über cstring eingebunden wird.

Funktion

strstr() sucht einen Zeichenkette innerhalb eines Strings.

Signatur

#include <string.h>
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 strings freigegeben, wird auch der zurückgegebene Pointer ungültig.

Beispiel

#include <string.h>      // definiert strstr
 
#include <stdio.h>       // definiert printf
#include <stdlib.h>      // 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