wcstok(3) Library Functions Manual wcstok(3)

wcstok - Eine Zeichenkette weiter Zeichen in Kürzel auftrennen

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <wchar.h>
wchar_t *wcstok(wchar_t *restrict zwz, const wchar_t *restrict begren,
                wchar_t **restrict zeiger);

Die Funktion wcstok() ist das Äquivalent der Funktion strtok(3) für weite Zeichen, mit einem zusätzlichen Argument, um sie sicher für Multithreading zu machen. Sie kann zum Auftrennen der Zeichenkette weiter Zeichen zwz in Kürzel verwandt werden, wobei ein Kürzel als Teilzeichenkette definiert ist, die keine weiten Zeichen aus begren enthält.

Die Suche beginnt bei zwz, falls zwz nicht NULL ist, oder bei *zeiger, falls zwz NULL ist. Zuerst werden alle begrenzenden weiten Zeichen übersprungen, d.h. der Zeiger über alle weiten Zeichen vorwärtsbewegt, die in begren vorkommen. Falls jetzt das Ende der Zeichenkette weiter Zeichen erreicht wird, liefert wcstok() NULL zurück, um anzuzeigen, dass keine Kürzel gefunden wurden, und speichert den entsprechenden Wert in *zeiger, so dass nachfolgende Aufrufe von wcstok() weiterhin NULL zurückliefern. Andernfalls erkennt die Funktion wcstok() den Anfang eines Kürzels und liefert einen Zeiger darauf zurück. Bevor es dies allerdings macht, schließt es das Kürzel mit Null ab, indem es das nächste weite Zeichen, das in begren auftritt, mit dem weiten Nullzeichen (L'\0') ersetzt und *zeiger aktualisiert, so dass nachfolgende Aufrufe mit der Suche hinter dem Ende des erkannten Kürzels fortfahren.

Die Funktion wcstok() liefert einen Zeiger auf das nächste Kürzel oder NULL zurück, falls kein weiteres Kürzel gefunden wurde.

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
wcstok() Multithread-Fähigkeit MT-Sicher

C11, POSIX.1-2008.

POSIX.1-2001, C99.

Die ursprüngliche Zeichenkette weiter Zeichen zwz wird während der Aktion destruktiv verändert.

Der folgende Code läuft in Schleifen über die in einer Zeichenkette weiter Zeichen enthaltenen Kürzel.

wchar_t *wcs = …;
wchar_t *token;
wchar_t *state;
for (token = wcstok(wcs, L" \t\n", &state);
    token != NULL;
    token = wcstok(NULL, L" \t\n", &state)) {
    …
}

strtok(3), wcschr(3)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

31. Oktober 2023 Linux man-pages 6.06