La fonction
wcstok()
est l'équivalent, pour les caractères larges, de la fonction
strtok(3),
avec un argument supplémentaire permettant
de l'employer dans un contexte multithreads.
On peut l'utiliser pour découper la chaîne de caractères larges
wcs
en éléments syntaxiques (tokens), définis comme des sous-chaînes
ne contenant aucun caractère large contenu dans la chaîne
delim.
La recherche démarre en
wcs,
si
wcs
n'est pas NULL, ou en
*ptr
si
wcs
est NULL.
D'abord tous les caractères larges délimiteurs sont ignorés,
c'est-à-dire que le pointeur est placé au-delà
de tous les caractères se trouvant dans
delim.
Si la fin de la chaîne est atteinte,
wcstok()
renvoie NULL pour indiquer qu'aucun mot n'a été trouvé, et stocke dans
*ptr
une valeur qui forcera les éventuels appels suivants de
wcstok()
à renvoyer NULL.
Sinon, la fonction considère avoir atteint le début d'un mot,
et renvoie un pointeur dessus après l'avoir fait suivre par un L'\0'
(en remplaçant le premier caractère se trouvant dans
delim).
Elle met à jour le pointeur
*ptr
pour qu'un nouvel appel de
wcstok()
continue la recherche à la suite du mot trouvé.