Spec-Zone.ru › C++

Стандартная библиотека заголовочный файл <cwchar>

Этот заголовочный файл изначально был в стандартной библиотеке C как <wchar.h>.

Этот заголовочный файл является частью библиотек нуль-терминированных широких и многобайтовых строк. Он также предоставляет некоторые функции ввода-вывода в стиле C и преобразование из даты в стиле C.

Макросы

NULL
константа указателя на ноль, определяемая реализацией
(макроконстанта)
WEOF
значение, отличное от символа, типа std::wint_t, используемое для обозначения ошибок
(макроконстанта)
WCHAR_MIN
наименьшее допустимое значение типа wchar_t
(макроконстанта)
WCHAR_MAX
наибольшее допустимое значение типа wchar_t
(макроконстанта)

Типы

mbstate_t
информация о состоянии преобразования, необходимая для итерации многобайтовых строк
(класс)
size_t
целочисленный тип без знака, возвращаемый оператором sizeof
(typedef)
wint_t целочисленный тип, который может содержать любое допустимое широкое значение символа и по крайней мере еще одно значение
tm
тип данных времени календаря
(класс)

Функции

Обработка строк
wcscpy
копирует одну широкую строку в другую
(функция)
wcsncpy
копирует определённое количество широких символов из одной строки в другую
(функция)
wcscat
добавляет копию одной широкой строки к другой
(функция)
wcsncat
добавляет определённое количество широких символов из одной широкой строки к другой
(функция)
wcsxfrm
преобразует широкую строку таким образом, что wcscmp даст тот же результат, что и wcscoll
(функция)
Исследование строк
wcslen
возвращает длину широкой строки
(функция)
wcscmp
сравнивает две широкие строки
(функция)
wcsncmp
сравнивает определённое количество символов из двух широких строк
(функция)
wcscoll
сравнивает две широкие строки в соответствии с текущим языковым стандартом
(функция)
wcschr
находит первое вхождение широкого символа в широкой строке
(функция)
wcsrchr
находит последнее вхождение широкого символа в широкой строке
(функция)
wcsspn
возвращает длину максимального начального сегмента, состоящего
только из широких символов, найденных в другой широкой строке
(функция)
wcscspn
возвращает длину максимального начального сегмента, состоящего
только из широких символов, не найденных в другой широкой строке
(функция)
wcspbrk
находит первое расположение любого широкого символа в одной широкой строке в другой широкой строке
(функция)
wcsstr
находит первое вхождение широкой строки в другой широкой строке
(функция)
wcstok
находит следующий токен в широкой строке
(функция)
Обработка массивов широких символов
wmemcpy
копирует определённое количество широких символов между двумя неперекрывающимися массивами
(функция)
wmemmove
копирует определённое количество широких символов между двумя, возможно перекрывающимися, массивами
(функция)
wmemcmp
сравнивает определённое количество широких символов из двух массивов
(функция)
wmemchr
находит первое вхождение широкого символа в массиве широких символов
(функция)
wmemset
копирует заданный широкий символ в каждую позицию в массиве широких символов
(функция)
Преобразование многобайтовых/широких символов
mbsinit
проверяет, представляет ли объект std::mbstate_t начальное состояние сдвига
(функция)
btowc
расширяет одиночный байтовый узкий символ до широкого символа, если возможно
(функция)
wctob
сужает широкий символ до одиночного байтового узкого символа, если возможно
(функция)
mbrlen
возвращает количество байтов в следующем многобайтовом символе, учитывая состояние
(функция)
mbrtowc
преобразует следующий многобайтовый символ в широкий символ, учитывая состояние
(функция)
wcrtomb
преобразует широкий символ в его многобайтовое представление, учитывая состояние
(функция)
mbsrtowcs
преобразует строку узких многобайтовых символов в широкую строку, учитывая состояние
(функция)
wcsrtombs
преобразует широкую строку в строку узких многобайтовых символов, учитывая состояние
(функция)
Ввод/вывод
fgetwcgetwc
получает широкий символ из потока файла
(функция)
fgetws
получает широкую строку из потока файла
(функция)
fputwcputwc
записывает широкий символ в поток файла
(функция)
fputws
записывает широкую строку в поток файла
(функция)
getwchar
считывает широкий символ из stdin
(функция)
putwchar
записывает широкий символ в stdout
(функция)
ungetwc
возвращает широкий символ обратно в поток файла
(функция)
fwide
переключает поток файла между широким вводом-выводом символов и узким вводом-выводом символов
(функция)
wscanffwscanfswscanf
считывает форматированный ввод широких символов из stdin, потока файла или буфера
(функция)
vwscanfvfwscanfvswscanf
(C++11)(C++11)(C++11)
считывает форматированный ввод широких символов из stdin, потока файла
или буфера с использованием переменного списка аргументов
(функция)
wprintffwprintfswprintf
выводит форматированный вывод широких символов в stdout, поток файла или буфер
(функция)
vwprintfvfwprintfvswprintf
выводит форматированный вывод широких символов в stdout, поток файла
или буфер с использованием переменного списка аргументов
(функция)
Преобразования строк
wcsftime
преобразует объект std::tm в пользовательское текстовое представление широкой строки
(функция)
wcstolwcstoll
преобразует широкую строку в целое значение
(функция)
wcstoulwcstoull
преобразует широкую строку в значение целого без знака
(функция)
wcstofwcstodwcstold
преобразует широкую строку в значение с плавающей точкой
(функция)

Примечания

  • NULL также определен в следующих заголовках:
    • <cstddef>
    • <cstring>
    • <ctime>
    • <clocale>
    • <cstdio>
  • std::size_t также определен в следующих заголовках:
    • <cstddef>
    • <ctime>
    • <cstdio>
  • std::wint_t также определен в следующих заголовках:
    • <cwctype>
  • std::tm также определен в следующих заголовках:
    • <ctime>

Краткое описание

namespace std {
  using size_t =    /* see description */; // freestanding
  using mbstate_t = /* see description */; // freestanding
  using wint_t =    /* see description */; // freestanding
 
  struct tm;
 
  int fwprintf(FILE* stream, const wchar_t* format, ...);
  int fwscanf(FILE* stream, const wchar_t* format, ...);
  int swprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
  int swscanf(const wchar_t* s, const wchar_t* format, ...);
  int vfwprintf(FILE* stream, const wchar_t* format, va_list arg);
  int vfwscanf(FILE* stream, const wchar_t* format, va_list arg);
  int vswprintf(wchar_t* s, size_t n, const wchar_t* format, va_list arg);
  int vswscanf(const wchar_t* s, const wchar_t* format, va_list arg);
  int vwprintf(const wchar_t* format, va_list arg);
  int vwscanf(const wchar_t* format, va_list arg);
  int wprintf(const wchar_t* format, ...);
  int wscanf(const wchar_t* format, ...);
  wint_t fgetwc(FILE* stream);
  wchar_t* fgetws(wchar_t* s, int n, FILE* stream);
  wint_t fputwc(wchar_t c, FILE* stream);
  int fputws(const wchar_t* s, FILE* stream);
  int fwide(FILE* stream, int mode);
  wint_t getwc(FILE* stream);
  wint_t getwchar();
  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* nptr, wchar_t** endptr);
  float wcstof(const wchar_t* nptr, wchar_t** endptr);
  long double wcstold(const wchar_t* nptr, wchar_t** endptr);
  long int wcstol(const wchar_t* nptr, wchar_t** endptr, int base);
  long long int wcstoll(const wchar_t* nptr, wchar_t** endptr, int base);
  unsigned long int wcstoul(const wchar_t* nptr, wchar_t** endptr, int base);
  unsigned long long int wcstoull(const wchar_t* nptr, wchar_t** endptr, int base);
  wchar_t* wcscpy(wchar_t* s1, const wchar_t* s2);                // freestanding
  wchar_t* wcsncpy(wchar_t* s1, const wchar_t* s2, size_t n);     // freestanding
  wchar_t* wmemcpy(wchar_t* s1, const wchar_t* s2, size_t n);     // freestanding
  wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);    // freestanding
  wchar_t* wcscat(wchar_t* s1, const wchar_t* s2);                // freestanding
  wchar_t* wcsncat(wchar_t* s1, const wchar_t* s2, size_t n);     // freestanding
  int wcscmp(const wchar_t* s1, const wchar_t* s2);               // freestanding
  int wcscoll(const wchar_t* s1, const wchar_t* s2);
  int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n);    // freestanding
  size_t wcsxfrm(wchar_t* s1, const wchar_t* s2, size_t n);
  int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n);    // freestanding
  const wchar_t* wcschr(const wchar_t* s, wchar_t c);             // freestanding
  wchar_t* wcschr(wchar_t* s, wchar_t c);                         // freestanding
  size_t wcscspn(const wchar_t* s1, const wchar_t* s2);           // freestanding
  const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2);   // freestanding
  wchar_t* wcspbrk(wchar_t* s1, const wchar_t* s2);               // freestanding
  const wchar_t* wcsrchr(const wchar_t* s, wchar_t c);            // freestanding
  wchar_t* wcsrchr(wchar_t* s, wchar_t c);                        // freestanding
  size_t wcsspn(const wchar_t* s1, const wchar_t* s2);            // freestanding
  const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2);    // freestanding
  wchar_t* wcsstr(wchar_t* s1, const wchar_t* s2);                // freestanding
  wchar_t* wcstok(wchar_t* s1, const wchar_t* s2, wchar_t** ptr); // freestanding
  const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);  // freestanding
  wchar_t* wmemchr(wchar_t* s, wchar_t c, size_t n);              // freestanding
  size_t wcslen(const wchar_t* s);                                // freestanding
  wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);              // freestanding
  size_t wcsftime(wchar_t* s, size_t maxsize, const wchar_t* format, const tm* timeptr);
  wint_t btowc(int c);
  int wctob(wint_t c);
 
  // multibyte / wide string and character conversion functions
  int mbsinit(const mbstate_t* ps);
  size_t mbrlen(const char* s, size_t n, mbstate_t* ps);
  size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps);
  size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps);
  size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps);
  size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps);
}
 
#define NULL      /* see description */ // freestanding
#define WCHAR_MAX /* see description */ // freestanding
#define WCHAR_MIN /* see description */ // freestanding
#define WEOF      /* see description */ // freestanding

Отчеты об ошибках

Следующие отчеты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применимо к Поведение, опубликованное в исходном виде Корректное поведение
LWG 345 C++98 std::tm не был предоставлен в <cwchar> предоставлено

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

Spec-Zone.ru

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