標準庫標頭檔案 <wchar.h> (C95)
來自 cppreference.com
此標頭檔案是空終止寬字串庫的一部分。
目錄 |
[edit] 函式
轉換為數字格式 | |
(C95)(C99) |
將寬字串轉換為整數值 (函式) |
(C95)(C99) |
將寬字串轉換為無符號整數值 (函式) |
(C99)(C95)(C99) |
將寬字串轉換為浮點值 (函式) |
字串操作 | |
(C95)(C11) |
將一個寬字串複製到另一個寬字串 (函式) |
(C95)(C11) |
將一定數量的寬字元從一個字串複製到另一個字串 (函式) |
(C95)(C11) |
將一個寬字串的副本追加到另一個寬字串 (函式) |
(C95)(C11) |
將一定數量的寬字元從一個寬字串附加到另一個寬字串 (函式) |
(C95) |
轉換寬字串,使得 wcscmp 產生與 wcscoll 相同的結果 (函式) |
字串檢查 | |
(C95)(C11) |
返回寬字串的長度 (函式) |
(C95) |
比較兩個寬字串 (函式) |
(C95) |
比較兩個寬字串中的一定數量的字元 (函式) |
(C95) |
根據當前語言環境比較兩個寬字串 (函式) |
(C95) |
在寬字串中查詢寬字元的首次出現 (函式) |
(C95) |
在寬字串中查詢寬字元的最後一次出現 (函式) |
(C95) |
返回由另一個位元組字串中找到的字元組成的最大初始段的長度 僅包含在另一個寬字串中找到的寬字元 (函式) |
(C95) |
返回由另一個位元組字串中找到的字元組成的最大初始段的長度 僅包含在另一個寬字串中未找到的寬字元 (函式) |
(C95) |
在另一個寬字串中查詢一個寬字串中任意寬字元的首次出現位置 (函式) |
(C95) |
在一個寬字串中查詢另一個寬字串的首次出現 (函式) |
(C95)(C11) |
在寬字串中查詢下一個標記 (函式) |
寬字元陣列操作 | |
(C95)(C11) |
在兩個不重疊的陣列之間複製一定數量的寬字元 (函式) |
(C95)(C11) |
在兩個可能重疊的陣列之間複製一定數量的寬字元 (函式) |
(C95) |
比較兩個陣列中一定數量的寬字元 (函式) |
(C95) |
在寬字元陣列中查詢寬字元的首次出現 (函式) |
(C95) |
將給定寬字元複製到寬字元陣列中的每個位置 (函式) |
[edit] 型別
wchar_t |
可容納任何有效寬字元的整型 (typedef) |
wint_t (C95) |
可容納任何有效寬字元和至少一個額外值的整型 (typedef) |
[edit] 宏
WEOF (C95) |
型別為 wint_t 的非字元值,用於指示錯誤 (宏常量) |
WCHAR_MIN (C95) |
wchar_t 的最小有效值 (宏常量) |
WCHAR_MAX (C95) |
wchar_t 的最大有效值 (宏常量) |
[edit] 概要
#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__ 並且使用者程式碼在包含 <wchar.h> 之前額外定義 __STDC_WANT_IEC_60559_TYPES_EXT__ 時
#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__ 並且使用者程式碼在包含 <wchar.h> 之前額外定義 __STDC_WANT_LIB_EXT1__ 時
#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