Namensräume
Varianten
Aktionen

Standardbibliothek-Header <wchar.h> (C95)

Von cppreference.com
< c‎ | header

Dieser Header ist Teil der Bibliothek für nullterminierte breite Zeichenketten.

Inhalt

[bearbeiten] Funktionen

Konvertierungen in numerische Formate
(C95)(C99)
wandelt eine breite Zeichenkette in einen ganzzahligen Wert um
(Funktion) [bearbeiten]
wandelt eine breite Zeichenkette in einen vorzeichenlosen ganzzahligen Wert um
(Funktion) [bearbeiten]
(C99)(C95)(C99)
wandelt eine breite Zeichenkette in einen Fließkommawert um
(Funktion) [bearbeiten]
Stringmanipulation
(C95)(C11)
kopiert eine breite Zeichenkette in eine andere
(Funktion) [bearbeiten]
kopiert eine bestimmte Anzahl breiter Zeichen von einer Zeichenkette in eine andere
(Funktion) [bearbeiten]
(C95)(C11)
hängt eine Kopie einer breiten Zeichenkette an eine andere an
(Funktion) [bearbeiten]
hängt eine bestimmte Anzahl breiter Zeichen von einer breiten Zeichenkette an eine andere an
(Funktion) [bearbeiten]
transformiert einen Wide-String, sodass wcscmp das gleiche Ergebnis wie wcscoll liefert
(Funktion) [bearbeiten]
Stringuntersuchung
gibt die Länge einer breiten Zeichenkette zurück
(Funktion) [bearbeiten]
(C95)
vergleicht zwei breite Zeichenketten
(Funktion) [bearbeiten]
vergleicht eine bestimmte Anzahl von Zeichen aus zwei breiten Zeichenketten
(Funktion) [bearbeiten]
vergleicht zwei breite Zeichenketten gemäß der aktuellen Locale
(Funktion) [bearbeiten]
(C95)
findet das erste Vorkommen eines breiten Zeichens in einer breiten Zeichenkette
(Funktion) [bearbeiten]
findet das letzte Vorkommen eines breiten Zeichens in einer breiten Zeichenkette
(Funktion) [bearbeiten]
(C95)
gibt die Länge des maximalen Anfangssegments zurück, das
nur von den breiten Zeichen, die in einer anderen breiten Zeichenkette gefunden wurden
(Funktion) [bearbeiten]
gibt die Länge des maximalen Anfangssegments zurück, das
nur von den Wide-Zeichen, die *nicht* in einem anderen Wide-String gefunden werden
(Funktion) [bearbeiten]
findet die erste Stelle irgendeines breiten Zeichens aus einer breiten Zeichenkette in einer anderen breiten Zeichenkette
(Funktion) [bearbeiten]
(C95)
findet das erste Vorkommen einer breiten Zeichenkette innerhalb einer anderen breiten Zeichenkette
(Funktion) [bearbeiten]
(C95)(C11)
findet das nächste Token in einer breiten Zeichenkette
(Funktion) [bearbeiten]
Manipulation von breiten Zeichen-Arrays
kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei nicht überlappenden Arrays
(Funktion) [bearbeiten]
kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei, möglicherweise überlappenden, Arrays
(Funktion) [bearbeiten]
vergleicht eine bestimmte Anzahl breiter Zeichen aus zwei Arrays
(Funktion) [bearbeiten]
findet das erste Vorkommen eines breiten Zeichens in einem breiten Zeichen-Array
(Funktion) [bearbeiten]
kopiert das gegebene breite Zeichen in jede Position eines breiten Zeichen-Arrays
(Funktion) [bearbeiten]

[bearbeiten] Typen

wchar_t
Ganzzahliger Typ, der jedes gültige breite Zeichen aufnehmen kann
(typedef)
wint_t
(C95)
Ganzzahliger Typ, der jedes gültige breite Zeichen und mindestens einen weiteren Wert speichern kann
(typedef)

[bearbeiten] Makros

WEOF
(C95)
ein Nicht-Zeichen-Wert vom Typ wint_t, der zur Anzeige von Fehlern verwendet wird
(Makro-Konstante)
WCHAR_MIN
(C95)
Der kleinste gültige Wert von wchar_t
(Makro-Konstante)
WCHAR_MAX
(C95)
Der größte gültige Wert von wchar_t
(Makro-Konstante)

[bearbeiten] Synopsis

#define __STDC_VERSION_WCHAR_H__ 202311L
 
typedef /* see description */ wchar_t;
typedef /* see description */ size_t;
typedef /* see description */ mbstate_t;
typedef /* see description */ wint_t;
 
struct tm { /* see description */ };
 
#define MB_UTF16    /* see description */
#define MB_UTF32    /* see description */
#define MB_UTF8     /* see description */
#define NULL        /* see description */
#define WCHAR_MAX   /* see description */
#define WCHAR_MIN   /* see description */
#define WCHAR_UTF16 /* see description */
#define WCHAR_UTF32 /* see description */
#define WCHAR_UTF8  /* see description */
#define WCHAR_WIDTH /* see description */
#define WEOF        /* see description */
 
int fwprintf(FILE* restrict stream, const wchar_t* restrict format, ...);
int fwscanf(FILE* restrict stream, const wchar_t* restrict format, ...);
int swprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, ...);
int swscanf(const wchar_t* restrict s, const wchar_t* restrict format, ...);
int vfwprintf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
int vfwscanf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
int vswprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format,
              va_list arg);
int vswscanf(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg);
int vwprintf(const wchar_t* restrict format, va_list arg);
int vwscanf(const wchar_t* restrict format, va_list arg);
int wprintf(const wchar_t* restrict format, ...);
int wscanf(const wchar_t* restrict format, ...);
wint_t fgetwc(FILE* stream);
wchar_t* fgetws(wchar_t* restrict s, int n, FILE* restrict stream);
wint_t fputwc(wchar_t c, FILE* stream);
int fputws(const wchar_t* restrict s, FILE* restrict stream);
int fwide(FILE* stream, int mode);
wint_t getwc(FILE* stream);
wint_t getwchar(void);
wint_t putwc(wchar_t c, FILE* stream);
wint_t putwchar(wchar_t c);
wint_t ungetwc(wint_t c, FILE* stream);
double wcstod(const wchar_t* restrict nptr, wchar_t** restrict endptr);
float wcstof(const wchar_t* restrict nptr, wchar_t** restrict endptr);
long double wcstold(const wchar_t* restrict nptr, wchar_t** restrict endptr);
long int wcstol(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
long long int wcstoll(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
unsigned long int wcstoul(const wchar_t* restrict nptr, wchar_t** restrict endptr,
                          int base);
unsigned long long int wcstoull(const wchar_t* restrict nptr, wchar_t** restrict endptr,
                                int base);
wchar_t* wcscpy(wchar_t* restrict s1, const wchar_t* restrict s2);
wchar_t* wcsncpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
wchar_t* wmemcpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
wchar_t* wcscat(wchar_t* restrict s1, const wchar_t* restrict s2);
wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
int wcscmp(const wchar_t* s1, const wchar_t* s2);
int wcscoll(const wchar_t* s1, const wchar_t* s2);
int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n);
size_t wcsxfrm(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n);
/*QWchar_t*/* wcschr(/*QWchar_t*/* s, wchar_t c);
size_t wcscspn(const wchar_t* s1, const wchar_t* s2);
/*QWchar_t*/* wcspbrk(/*QWchar_t*/* s1, const wchar_t* s2);
/*QWchar_t*/* wcsrchr(/*QWchar_t*/* s, wchar_t c);
size_t wcsspn(const wchar_t* s1, const wchar_t* s2);
/*QWchar_t*/* wcsstr(/*QWchar_t*/* s1, const wchar_t* s2);
wchar_t* wcstok(wchar_t* restrict s1, const wchar_t* restrict s2,
                wchar_t** restrict ptr);
/*QWchar_t*/* wmemchr(/*QWchar_t*/* s, wchar_t c, size_t n);
size_t wcslen(const wchar_t* s);
size_t wcsnlen(const wchar_t* s, size_t n);
wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
size_t wcsftime(wchar_t* restrict s, size_t maxsize, const wchar_t* restrict format,
                const struct tm* restrict timeptr);
wint_t btowc(int c);
int wctob(wint_t c);
int mbsinit(const mbstate_t* ps);
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n,
               mbstate_t* restrict ps);
size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
                 mbstate_t* restrict ps);
size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
                 mbstate_t* restrict ps);

Nur wenn die Implementierung __STDC_IEC_60559_DFP__ definiert

_Decimal32 wcstod32(const wchar_t* restrict nptr, wchar_t** restrict endptr);
_Decimal64 wcstod64(const wchar_t* restrict nptr, wchar_t** restrict endptr);
_Decimal128 wcstod128(const wchar_t* restrict nptr, wchar_t** restrict endptr);

Nur wenn die Implementierung __STDC_IEC_60559_TYPES__ definiert und zusätzlich der Benutzercode __STDC_WANT_IEC_60559_TYPES_EXT__ vor jeder Einbindung von <wchar.h> definiert

#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
/*_FloatN*/ /*wcstofN*/(const wchar_t* restrict nptr, wchar_t** restrict endptr);
/*_FloatNx*/ /*wcstofNx*/(const wchar_t* restrict nptr, wchar_t** restrict endptr);
/*_DecimalN*/ /*wcstodN*/(const wchar_t* restrict nptr, wchar_t** restrict endptr);
/*_DecimalNx*/ /*wcstodNx*/(const wchar_t* restrict nptr, wchar_t** restrict endptr);
void /*wcstoencfN*/(unsigned char encptr[restrict static N/8],
                    const wchar_t* restrict nptr, wchar_t** restrict endptr);
void /*wcstoencdecdN*/(unsigned char encptr[restrict static N/8],
                       const wchar_t* restrict nptr, wchar_t** restrict endptr);
void /*wcstoencbindN*/(unsigned char encptr[restrict static N/8],
                       const wchar_t* restrict nptr, wchar_t** restrict endptr);
#endif

Nur wenn die Implementierung __STDC_LIB_EXT1__ definiert und zusätzlich der Benutzercode __STDC_WANT_LIB_EXT1__ vor jeder Einbindung von <wchar.h> definiert

#ifdef __STDC_WANT_LIB_EXT1__
typedef /* see description */ errno_t;
typedef /* see description */ rsize_t;
 
int fwprintf_s(FILE* restrict stream, const wchar_t* restrict format, ...);
int fwscanf_s(FILE* restrict stream, const wchar_t* restrict format, ...);
int snwprintf_s(wchar_t* restrict s, rsize_t n, const wchar_t* restrict format, ...);
int swprintf_s(wchar_t* restrict s, rsize_t n, const wchar_t* restrict format, ...);
int swscanf_s(const wchar_t* restrict s, const wchar_t* restrict format, ...);
int vfwprintf_s(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
int vfwscanf_s(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
int vsnwprintf_s(wchar_t* restrict s, rsize_t n, const wchar_t* restrict format,
                 va_list arg);
int vswprintf_s(wchar_t* restrict s, rsize_t n, const wchar_t* restrict format,
                va_list arg);
int vswscanf_s(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg);
int vwprintf_s(const wchar_t* restrict format, va_list arg);
int vwscanf_s(const wchar_t* restrict format, va_list arg);
int wprintf_s(const wchar_t* restrict format, ...);
int wscanf_s(const wchar_t* restrict format, ...);
errno_t wcscpy_s(wchar_t* restrict s1, rsize_t s1max, const wchar_t* restrict s2);
errno_t wcsncpy_s(wchar_t* restrict s1, rsize_t s1max, const wchar_t* restrict s2,
                  rsize_t n);
errno_t wmemcpy_s(wchar_t* restrict s1, rsize_t s1max, const wchar_t* restrict s2,
                  rsize_t n);
errno_t wmemmove_s(wchar_t* s1, rsize_t s1max, const wchar_t* s2, rsize_t n);
errno_t wcscat_s(wchar_t* restrict s1, rsize_t s1max, const wchar_t* restrict s2);
errno_t wcsncat_s(wchar_t* restrict s1, rsize_t s1max, const wchar_t* restrict s2,
                  rsize_t n);
wchar_t* wcstok_s(wchar_t* restrict s1, rsize_t* restrict s1max,
                  const wchar_t* restrict s2, wchar_t** restrict ptr);
size_t wcsnlen_s(const wchar_t* s, size_t maxsize);
errno_t wcrtomb_s(size_t* restrict retval, char* restrict s, rsize_t smax, wchar_t wc,
                  mbstate_t* restrict ps);
errno_t mbsrtowcs_s(size_t* restrict retval, wchar_t* restrict dst, rsize_t dstmax,
                    const char** restrict src, rsize_t len, mbstate_t* restrict ps);
errno_t wcsrtombs_s(size_t* restrict retval, char* restrict dst, rsize_t dstmax,
                    const wchar_t** restrict src, rsize_t len, mbstate_t* restrict ps);
#endif