Język C++
strtok
[funkcja] Zastępuje (w łańcuchu znaków) pierwszy znaleziony znak znakiem terminalnym.Składnia
#include <cstring>
char * strtok( char * str, const char * korektor );
Opis szczegółowy
Funkcja zastępuje pierwszy znaleziony znak w
str znakiem terminalnym. Pulę szukanych znaków określa argument
korektor.
Jedno wywołanie funkcji zastępuje jeden znak.
Aby rozpocząć przeszukiwanie łańcucha znaków od miejsca ostatniego zakończenia należy wywołać ponownie funkcję z argumentem
str o wartości
NULL.
Argumenty
Zwracana wartość
Zwraca wskaźnik na początek łańcucha znaków od którego rozpoczęto poszukiwanie pierwszego wystąpienia znaku.
Funkcja zwraca wartość NULL jeżeli nie znaleziono kolejnego podciągu.
Dodatkowe informacje
Uwaga! Funkcja używa zmiennej statycznej do dzielenia łańcucha znaków. Użycie kilku wywołań niniejszej funkcji w tym samym czasie nie jest bezpieczne i może prowadzić do nieprawidłowych wyników.
Przykład
#include <cstring>
#include <cstdio>
int main()
{
char str[] = "Rok 1525 - Hold Pruski, Krakow";
char korektor[] = " ,.-";
char * schowek;
printf( "Rozdziela tekst \"%s\" na poszczegolne wyrazy:\n", str );
schowek = strtok( str, korektor );
while( schowek != NULL )
{
printf( "%s\n", schowek );
schowek = strtok( NULL, korektor );
}
return 0;
}
Standardowe wyjście programu:
Rozdziela tekst "Rok 1525 - Hold Pruski, Krakow" na poszczegolne wyrazy:
Rok
1525
Hold
Pruski
Krakow
Zagadnienia powiązane
strpbrk | Szuka pierwszego wystąpienia znaku (z puli znaków bez '\0') w łańcuchu znaków. (funkcja) |
---|
strcspn | Szuka pierwszego wystąpienia znaku (z puli znaków) w łańcuchu znaków. (funkcja) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.