Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: GoldWolf
Udoskonalił: Piotr DejaVu Szawdyński
Język C++

strtok

[funkcja] Zastępuje (w łańcuchu znaków) pierwszy znaleziony znak znakiem terminalnym.

Składnia

C/C++
#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

Nazwa argumentuOpis
strŁańcuch znaków przeznaczony do korekty
korektorłańcuch znaków, który określa jakie znaki mają zostać zastąpione znakiem terminalnym

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

C/C++
#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

strpbrkSzuka pierwszego wystąpienia znaku (z puli znaków bez '\0') w łańcuchu znaków. (funkcja)
strcspnSzuka pierwszego wystąpienia znaku (z puli znaków) w łańcuchu znaków. (funkcja)

Linki zewnętrzne