strtok

Autres langues

Langue: pl

Autres versions - même langue

Version: 2000-02-13 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

NAZWA

strtok, strtok_r - wydzielanie s³ów z ³añcuchów

SK£ADNIA


#include <string.h>



char *strtok(char *s, const char *delim);



char *strtok_r(char *s, const char *delim, char **ptrptr);

OPIS

`S³owo' jest to niepusty ci±g znaków, które nie wystêpuj± w ³añcuchu delim, poprzedzony znakiem \0 lub znakiem wystêpuj±cym w delim.

Funkcja strtok() s³u¿y do rozk³adania ci±gu znaków s na s³owa. Pierwsze odwo³anie do strtok() powinno posiadaæ s jako pierwszy argument. Nastêpne wywo³ania powinny mieæ jako pierwszy argument NULL. Ka¿de wywo³anie zwraca wska¼nik do nastêpnego s³owa lub NULL, gdy nie ma ju¿ wiêcej s³ów.

Je¶li s³owo koñczy siê separatorem (delim), to ten koñcz±cy znak jest nadpisywany przez \0 i zapamiêtywany jest wska¼nik do nastêpnego znaku dla nastêpnego wywo³ania strtok. Ci±g separatorów delim mo¿e byæ inny dla ka¿dego wywo³ania.

Funkcja strtok_r() dzia³a tak samo, jak strtok(), ale zamiast korzystaæ ze statycznego bufora, korzysta ze wska¼nika do przydzielonego przez u¿ytkownika wska¼nika char*. Wska¼nik ten, parametr ptrptr, nie mo¿e zostaæ zmieniony podczas rozk³adania jednego ³añcucha.

USTERKI

Nigdy nie nale¿y u¿ywaæ tej funkcji. Je¶li jest to jednak konieczne, nale¿y zauwa¿yæ, ¿e:
Funkcje te modyfikuj± swój pierwszy argument.
To¿samo¶æ znaku separatora jest tracona.
Funkcje ta nie mog± byæ stosowana z ci±gami sta³ymi.
Funkcja strtok() korzysta ze statycznego bufora, wiêc nie jest przystosowana do wielow±tkowo¶ci. Je¶li ma to znaczenie, nale¿y u¿ywaæ strtok_r().

WARTO¦Æ ZWRACANA

Funkcja strtok() zwraca wska¼nik do nastêpnego s³owa lub NULL, je¶li nie ma ju¿ wiêcej s³ów.

ZGODNE Z

strtok()
SVID 3, POSIX, BSD 4.3, ISO 9899
strtok_r()
POSIX.1c

ZOBACZ TAK¯E

index(3), memchr(3), rindex(3), strchr(3), strpbrk(3), strsep(3), strspn(3), strstr(3)