Namespaces
Variants

Standard library header <cwchar>

From cppreference.net
Standard library headers

该头文件最初作为 <wchar.h> 存在于C标准库中。

该头文件是空终止 宽字符 多字节 字符串库的组成部分。 同时提供部分 C风格I/O 功能及 C风格日期 转换功能。

目录

实现定义的空指针常量
(宏常量)
WEOF
用于指示错误的 std::wint_t 类型非字符值
(宏常量)
WCHAR_MIN
wchar_t 的最小有效值
(宏常量)
WCHAR_MAX
wchar_t 的最大有效值
(宏常量)

类型

用于迭代多字节字符串所需的转换状态信息
(类)
sizeof 运算符返回的无符号整数类型
(类型定义)
wint_t 可容纳任何有效宽字符及至少一个额外值的整数类型
日历时间类型
(类)

函数

字符串操作
复制一个宽字符串到另一个
(函数)
从字符串复制指定数量的宽字符到另一个字符串
(函数)
将一个宽字符串的副本追加到另一个宽字符串
(函数)
从一个宽字符串追加指定数量的宽字符到另一个宽字符串
(函数)
转换宽字符串,使得 wcscmp 能产生与 wcscoll 相同的结果
(函数)
字符串检查
返回宽字符串的长度
(函数)
比较两个宽字符串
(函数)
比较两个宽字符串中指定数量的字符
(函数)
根据当前区域设置比较两个宽字符串
(函数)
在宽字符串中查找宽字符的首次出现
(函数)
在宽字符串中查找宽字符的最后一次出现
(函数)
返回仅包含在另一个宽字符串中找到的宽字符的最大初始段的长度
(函数)
返回仅包含在另一个宽字符串中 找到的宽字符的最大初始段的长度
(函数)
在一个宽字符串中查找另一个宽字符串中任意宽字符的首次出现位置
(函数)
在一个宽字符串中查找另一个宽字符串的首次出现
(函数)
在宽字符串中查找下一个标记
(函数)
宽字符数组操作
在两个不重叠的数组之间复制指定数量的宽字符
(函数)
在两个可能重叠的数组之间复制指定数量的宽字符
(函数)
比较两个数组中指定数量的宽字符
(函数)
在宽字符数组中查找宽字符的首次出现
(函数)
将给定的宽字符复制到宽字符数组的每个位置
(函数)
多字节/宽字符转换
检查 std::mbstate_t 对象是否表示初始移位状态
(函数) <span class="editsection noprint plainlinks"

注释

概要

namespace std {
  using size_t =    /* 见描述 */; // 独立实现
  using mbstate_t = /* 见描述 */; // 独立实现
  using wint_t =    /* 见描述 */; // 独立实现
  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);                // 独立实现
  wchar_t* wcsncpy(wchar_t* s1, const wchar_t* s2, size_t n);     // 独立实现
  wchar_t* wmemcpy(wchar_t* s1, const wchar_t* s2, size_t n);     // 独立实现
  wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);    // 独立实现
  wchar_t* wcscat(wchar_t* s1, const wchar_t* s2);                // 独立实现
  wchar_t* wcsncat(wchar_t* s1, const wchar_t* 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

缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的C++标准。

问题报告 应用于 发布时的行为 正确行为
LWG 345 C++98 std::tm 未在 <cwchar> 中提供 已提供