Namespaces
Variants

Standard library header <wchar.h> (C95)

From cppreference.net

Cet en-tête fait partie de la bibliothèque des chaînes larges terminées par un caractère nul .

Table des matières

Fonctions

Conversions vers les formats numériques
(C95) (C99)
convertit une chaîne large en une valeur entière
(fonction)
(C95) (C99)
convertit une chaîne large en une valeur entière non signée
(fonction)
(C99) (C95) (C99)
convertit une chaîne large en une valeur à virgule flottante
(fonction)
Manipulation de chaînes
(C95) (C11)
copie une chaîne large vers une autre
(fonction)
copie une certaine quantité de caractères larges d'une chaîne à une autre
(fonction)
(C95) (C11)
ajoute une copie d'une chaîne large à une autre
(fonction)
ajoute un certain nombre de caractères larges d'une chaîne large à une autre
(fonction)
(C95)
transforme une chaîne large de sorte que wcscmp produirait le même résultat que wcscoll
(fonction)
Examen des chaînes
(C95) (C11)
retourne la longueur d'une chaîne large
(fonction)
(C95)
compare deux chaînes larges
(fonction)
(C95)
compare un certain nombre de caractères de deux chaînes larges
(fonction)
(C95)
compare deux chaînes larges conformément aux paramètres régionaux actuels
(fonction)
(C95)
trouve la première occurrence d'un caractère large dans une chaîne large
(fonction)
(C95)
trouve la dernière occurrence d'un caractère large dans une chaîne large
(fonction)
(C95)
retourne la longueur du segment initial maximal qui consiste
uniquement en caractères larges trouvés dans une autre chaîne large
(fonction)
(C95)
retourne la longueur du segment initial maximal qui consiste
uniquement en caractères larges non trouvés dans une autre chaîne large
(fonction)
(C95)
trouve la première occurrence de n'importe quel caractère large d'une chaîne large dans une autre chaîne large
(fonction)
(C95)
trouve la première occurrence d'une chaîne large dans une autre chaîne large
(fonction)
(C95) (C11)
trouve le jeton suivant dans une chaîne large
(fonction)
Manipulation de tableaux de caractères larges
copie une certaine quantité de caractères larges entre deux tableaux non chevauchants
(fonction)
copie une certaine quantité de caractères larges entre deux tableaux, potentiellement chevauchants
(fonction)
(C95)
compare une certaine quantité de caractères larges de deux tableaux
(fonction)
(C95)
trouve la première occurrence d'un caractère large dans un tableau de caractères larges
(fonction)
(C95)
copie le caractère large donné à chaque position d'un tableau de caractères larges
(fonction)

Types

wchar_t
type entier pouvant contenir n'importe quel caractère large valide
(typedef)
wint_t
(C95)
type entier pouvant contenir n'importe quel caractère large valide et au moins une valeur supplémentaire
(typedef)

Macros

WEOF
(C95)
une valeur non-caractère de type wint_t utilisée pour indiquer des erreurs
(constante macro)
WCHAR_MIN
(C95)
la plus petite valeur valide de wchar_t
(constante macro)
WCHAR_MAX
(C95)
la plus grande valeur valide de wchar_t
(constante macro)

Synopsis

#define __STDC_VERSION_WCHAR_H__ 202311L
typedef /* voir description */ wchar_t;
typedef /* voir description */ size_t;
typedef /* voir description */ mbstate_t;
typedef /* voir description */ wint_t;
struct tm { /* voir description */ };
#define MB_UTF16    /* voir description */
#define MB_UTF32    /* voir description */
#define MB_UTF8     /* voir description */
#define NULL        /* voir description */
#define WCHAR_MAX   /* voir description */
#define WCHAR_MIN   /* voir description */
#define WCHAR_UTF16 /* voir description */
#define WCHAR_UTF32 /* voir description */
#define WCHAR_UTF8  /* voir description */
#define WCHAR_WIDTH /* voir description */
#define WEOF        /* voir 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);

Seulement si l'implémentation définit __STDC_IEC_60559_DFP__ :

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

Seulement si l'implémentation définit __STDC_IEC_60559_TYPES__ et que le code utilisateur définit __STDC_WANT_IEC_60559_TYPES_EXT__ avant toute inclusion de <wchar.h> :

#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

Seulement si l'implémentation définit __STDC_LIB_EXT1__ et que le code utilisateur définit également __STDC_WANT_LIB_EXT1__ avant toute inclusion de <wchar.h> :

#ifdef __STDC_WANT_LIB_EXT1__
typedef /* voir description */ errno_t;
typedef /* voir 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