wchar.h (4561B)
1 #ifndef _WCHAR_H_ 2 #define _WCHAR_H_ 3 4 #include <stdio.h> 5 #include <stddef.h> 6 #include <stdarg.h> 7 #include <wctype.h> 8 9 typedef int mbstate_t; 10 11 struct tm; 12 13 // Character properties 14 wctype_t wctype(const char *); 15 int wcwidth(wchar_t); 16 17 // Character conversion 18 wint_t btowc(int); 19 int wctob(wint_t); 20 size_t mbrlen(const char *__restrict, size_t, mbstate_t *__restrict); 21 size_t mbrtowc(wchar_t *__restrict, const char *__restrict, size_t, 22 mbstate_t *__restrict); 23 int mbsinit(const mbstate_t *); 24 size_t mbsrtowcs(wchar_t *__restrict, const char **__restrict, size_t, 25 mbstate_t *__restrict); 26 size_t wcrtomb(char *restrict, wchar_t, mbstate_t *restrict); 27 28 // Wide string functions 29 wchar_t *wcscat(wchar_t *__restrict, const wchar_t *__restrict); 30 wchar_t *wcschr(const wchar_t *, wchar_t); 31 int wcscmp(const wchar_t *, const wchar_t *); 32 int wcscoll(const wchar_t *, const wchar_t *); 33 wchar_t *wcscpy(wchar_t *__restrict, const wchar_t *__restrict); 34 size_t wcscspn(const wchar_t *, const wchar_t *); 35 size_t wcsftime(wchar_t *__restrict, size_t, 36 const wchar_t *__restrict, const struct tm *__restrict); 37 size_t wcslen(const wchar_t *); 38 wchar_t *wcsncat(wchar_t *__restrict, const wchar_t *__restrict, size_t); 39 int wcsncmp(const wchar_t *, const wchar_t *, size_t); 40 wchar_t *wcsncpy(wchar_t *__restrict, const wchar_t *__restrict, size_t); 41 wchar_t *wcspbrk(const wchar_t *, const wchar_t *); 42 wchar_t *wcsrchr(const wchar_t *, wchar_t); 43 size_t wcsrtombs(char *__restrict, const wchar_t **__restrict, 44 size_t, mbstate_t *__restrict); 45 size_t wcsspn(const wchar_t *, const wchar_t *); 46 wchar_t *wcsstr(const wchar_t *__restrict, const wchar_t *__restrict); 47 double wcstod(const wchar_t *__restrict, wchar_t **__restrict); 48 float wcstof(const wchar_t *__restrict, wchar_t **__restrict); 49 wchar_t *wcstok(wchar_t *__restrict, const wchar_t *__restrict, 50 wchar_t **__restrict); 51 long wcstol(const wchar_t *__restrict, wchar_t **__restrict, int); 52 long double wcstold(const wchar_t *__restrict, wchar_t **__restrict); 53 long long wcstoll(const wchar_t *__restrict, wchar_t **__restrict, int); 54 unsigned long wcstoul(const wchar_t *__restrict, wchar_t **__restrict, int); 55 unsigned long long 56 wcstoull(const wchar_t *__restrict, wchar_t **__restrict, int); 57 wchar_t *wcswcs(const wchar_t *, const wchar_t *); 58 int wcswidth(const wchar_t *, size_t); 59 size_t wcsxfrm(wchar_t *__restrict, const wchar_t *__restrict, size_t); 60 61 // Wide-character memory manipulation 62 wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); 63 int wmemcmp(const wchar_t *, const wchar_t *, size_t); 64 wchar_t *wmemcpy(wchar_t *__restrict, const wchar_t *__restrict, size_t); 65 wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); 66 wchar_t *wmemset(wchar_t *, wchar_t, size_t); 67 68 // Formatted string conversion 69 int wprintf(const wchar_t *__restrict, ...); 70 int wscanf(const wchar_t *__restrict, ...); 71 int vwprintf(const wchar_t *__restrict, va_list); 72 int vwscanf(const wchar_t *__restrict, va_list); 73 int swprintf(wchar_t *__restrict, size_t, 74 const wchar_t *__restrict, ...); 75 int swscanf(const wchar_t *__restrict, 76 const wchar_t *__restrict, ...); 77 int vswprintf(wchar_t *__restrict, size_t, 78 const wchar_t *__restrict, va_list); 79 int vswscanf(const wchar_t *__restrict, const wchar_t *__restrict, 80 va_list); 81 82 // Wide character file I/O 83 wint_t putwchar(wchar_t); 84 wint_t putwc(wchar_t, FILE *); 85 wint_t getwchar(void); 86 wint_t getwc(FILE *); 87 wint_t ungetwc(wint_t, FILE *); 88 wint_t fgetwc(FILE *); 89 wchar_t *fgetws(wchar_t *__restrict, int, FILE *__restrict); 90 wint_t fputwc(wchar_t, FILE *); 91 int fputws(const wchar_t *__restrict, FILE *__restrict); 92 int fwide(FILE *, int); 93 int fwprintf(FILE *__restrict, const wchar_t *__restrict, ...); 94 int fwscanf(FILE *__restrict, const wchar_t *__restrict, ...); 95 int vwprintf(const wchar_t *__restrict, va_list); 96 int vfwprintf(FILE *__restrict, const wchar_t *__restrict, va_list); 97 int vfwscanf(FILE *__restrict, const wchar_t *__restrict, va_list); 98 99 #endif // _WCHAR_H_