Spec-Zone.ru › C

Заголовок стандартной библиотеки <wchar.h> (C95)

Этот заголовок является частью библиотеки широких строк с нулевым завершением.

Функции

Преобразование в числовые форматы
wcstolwcstoll
(C95)(C99)
преобразует широкую строку в целое значение
(функция)
wcstoulwcstoull
(C95)(C99)
преобразует широкую строку в беззнаковое целое значение
(функция)
wcstofwcstodwcstold
(C99)(C95)(C99)
преобразует широкую строку в значение с плавающей точкой
(функция)
Манипуляции со строками
wcscpywcscpy_s
(C95)(C11)
копирует одну широкую строку в другую
(функция)
wcsncpywcsncpy_s
(C95)(C11)
копирует заданное количество широких символов из одной строки в другую
(функция)
wcscatwcscat_s
(C95)(C11)
добавляет копию одной широкой строки в конец другой
(функция)
wcsncatwcsncat_s
(C95)(C11)
добавляет заданное количество широких символов из одной широкой строки в конец другой
(функция)
wcsxfrm
(C95)
преобразует широкую строку так, чтобы wcscmp давала тот же результат, что и wcscoll
(функция)
Анализ строк
wcslenwcsnlen_s
(C95)(C11)
возвращает длину широкой строки
(функция)
wcscmp
(C95)
сравнивает две широкие строки
(функция)
wcsncmp
(C95)
сравнивает заданное количество символов в двух широких строках
(функция)
wcscoll
(C95)
сравнивает две широкие строки с учетом текущей локали
(функция)
wcschr
(C95)
находит первое вхождение широкого символа в широкой строке
(функция)
wcsrchr
(C95)
находит последнее вхождение широкого символа в широкой строке
(функция)
wcsspn
(C95)
возвращает длину максимального начального сегмента, состоящего
только из широких символов, найденных в другой широкой строке
(функция)
wcscspn
(C95)
возвращает длину максимального начального сегмента, состоящего
только из широких символов, не найденных в другой широкой строке
(функция)
wcspbrk
(C95)
находит первое место вхождения любого широкого символа из одной широкой строки в другой широкой строке
(функция)
wcsstr
(C95)
находит первое вхождение широкой строки внутри другой широкой строки
(функция)
wcstokwcstok_s
(C95)(C11)
находит следующий токен в широкой строке
(функция)
Манипуляции с массивами широких символов
wmemcpywmemcpy_s
(C95)(C11)
копирует заданное количество широких символов между двумя неперекрывающимися массивами
(функция)
wmemmovewmemmove_s
(C95)(C11)
копирует заданное количество широких символов между двумя, возможно перекрывающимися, массивами
(функция)
wmemcmp
(C95)
сравнивает заданное количество широких символов из двух массивов
(функция)
wmemchr
(C95)
находит первое вхождение широкого символа в массиве широких символов
(функция)
wmemset
(C95)
копирует заданный широкий символ в каждую позицию массива широких символов
(функция)

Типы

wchar_t
целочисленный тип, способный хранить любой допустимый широкий символ
(определение типа)
wint_t
(C95)
целочисленный тип, способный хранить любой допустимый широкий символ и как минимум еще одно значение
(определение типа)

Макросы

WEOF
(C95)
значение типа wint_t, не являющееся символом и используемое для обозначения ошибок
(макроконстанта)
WCHAR_WIDTH
(C23)
разрядность типа wchar_t
(макроконстанта)
WCHAR_MIN
минимальное значение типа wchar_t
(макроконстанта)
WCHAR_MAX
максимальное значение типа wchar_t
(макроконстанта)

Сводка

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

Только если реализация определяет __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);

Только если реализация определяет __STDC_IEC_60559_TYPES__, а пользовательский код дополнительно определяет __STDC_WANT_IEC_60559_TYPES_EXT__ до любого включения <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

Только если реализация определяет __STDC_LIB_EXT1__, а пользовательский код дополнительно определяет __STDC_WANT_LIB_EXT1__ до любого включения <wchar.h>:

#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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/header/wchar

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API