C/strstr

Z Wikibooks, biblioteki wolnych podręczników.
< C
Przejdź do nawigacji Przejdź do wyszukiwania

Deklaracja[edytuj]

char* strstr (const char* str1, const char* str2);


kod źródłowy[edytuj]

// https://github.com/torvalds/linux/blob/master/lib/string.c


/**
 * strstr - Find the first substring in a %NUL terminated string
 * @s1: The string to be searched
 * @s2: The string to search for
 */
char *strstr(const char *s1, const char *s2)
{
	size_t l1, l2;

	l2 = strlen(s2);
	if (!l2)
		return (char *)s1;
	l1 = strlen(s1);
	while (l1 >= l2) {
		l1--;
		if (!memcmp(s1, s2, l2))
			return (char *)s1;
		s1++;
	}
	return NULL;
}

Plik nagłówkowy[edytuj]

string.h

Opis[edytuj]

Szuka pierwszego wystąpienia łańcucha znakowego str2 w łańcuchu str1.

Argumenty[edytuj]

  • str1 - przeszukiwany łańcuch ( ang string Haystack[1])
  • str2 - poszukiwany łańcuch ( ang. substring lub Needle)

Wartość zwracana[edytuj]

  • wskaźnik do pierwszego znaku łańcucha str1, będący pierwszym znakiem dopasowania łańcucha str2 , jeżeli dopasowanie to nastąpiło
  • wskaźnik zerowy jeśli łańcuch str2 nie zawiera się w łańcuchu str1
  • str1 jeśli str2 ma zerową długośc


Zobacz też[edytuj]

Źródła[edytuj]

  1. Pochodzi od angielskiego idiomu": Needle in a Haystack czyli igła w stogu siana