Przejdź do zawartości

C/strstr

Z Wikibooks, biblioteki wolnych podręczników.
< C

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