wcstok(3)

BEZEICHNUNG
wcstok - Eine Zeichenkette weiter Zeichen in Kürzel auftrennen

BIBLIOTHEK
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);

BESCHREIBUNG
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.

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

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
wcstok() | Multithread-Fähigkeit | MT-Sicher

STANDARDS
C11, POSIX.1-2008.

GESCHICHTE
POSIX.1-2001, C99.

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

BEISPIELE
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)) {
        …
    }

SIEHE AUCH
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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: debian-l10n-german@lists.debian.org.