]> pd.if.org Git - pdclib/blob - man3/wchar.h.3
PDCLIB-2: Complete wchar.h + manual page. This header is a monster, implies numerous...
[pdclib] / man3 / wchar.h.3
1 .\" This file is part of the Public Domain C Library " "PDCLib).\r
2 .\" Permission is granted to use" "modify" "and / or redistribute at will.\r
3 .\"\r
4 .Dd\r
5 .Dt WCHAR.H 3\r
6 .Os\r
7 .\"\r
8 .Sh NAME\r
9 .Nm wchar.h\r
10 .Nd wide character & wide character string manipulation\r
11 .\"\r
12 .Sh SYNOPSIS\r
13 .In wchar.h\r
14 .\"\r
15 .Sh DESCRIPTION\r
16 The\r
17 .In wchar.h\r
18 header provides functions for manipulating wide character strings" "for\r
19 converting between wide characters and multibyte character sets" "for \r
20 manipulating wide character strings" "and for wide character oriented input and \r
21 output.\r
22 .\"\r
23 .Ss Types & Definitions\r
24 The type\r
25 .Vt size_t\r
26 and macro\r
27 .Dv NULL\r
28 shall be defined as in\r
29 .In stddef.h .\r
30 .Pp\r
31 The type\r
32 .Vt wchar_t\r
33 shall be defined as an integral type capable of representing any wide character\r
34 in the implementation defined encoding. The type\r
35 .Vt wint_t\r
36 shall be defined as an integral type capable of representing any wide character\r
37 in the implementation defined encoding" "plus the distinct value given by\r
38 .Dv WEOF ,\r
39 which evaluates to a constant expression of type\r
40 .Vt wint_t\r
41 which does not correspond to any character in the implementation defined \r
42 character set. The macros \r
43 .Dv WCHAR_MIN\r
44 and\r
45 .Dv WCHAR_MAX\r
46 shall be defined as in\r
47 .In stdint.h .\r
48 .Pp\r
49 The type\r
50 .Vt mbstate_t\r
51 shall be a complete non-array object type used for the storage of the state of\r
52 a multibyte to wide character conversion.\r
53 .Pp\r
54 The type\r
55 .Vt struct tm\r
56 shall be defined as an incomplete type" "a full definition of wich can be found \r
57 in\r
58 .In time.h .\r
59 .\"\r
60 .Ss Wide Character String Handling Functions\r
61 .Fn "wchar_t *wcscpy" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2"\r
62 .br\r
63 .Fn "wchar_t *wcsncpy" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2" "size_t n"\r
64 .br\r
65 .Fn "wchar_t *wmemcpy" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2" "size_t n"\r
66 .br\r
67 .Fn "wchar_t *wmemmove" "wchar_t *s1" "const wchar_t *s2" "size_t n"\r
68 .br\r
69 .Fn "wchar_t *wcscat" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2"\r
70 .br\r
71 .Fn "wchar_t *wcsncat" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2" "size_t n"\r
72 .br\r
73 .Fn "int wcscmp" "const wchar_t *s1" "const wchar_t *s2"\r
74 .br\r
75 .Fn "int wcscoll" "const wchar_t *s1" "const wchar_t *s2"\r
76 .br\r
77 .Fn "int wcsncmp" "const wchar_t *s1" "const wchar_t *s2" "size_t n"\r
78 .br\r
79 .Fn "size_t wcsxfrm" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2" "size_t n"\r
80 .br\r
81 .Fn "int wmemcmp" "const wchar_t *s1" "const wchar_t *s2" "size_t n"\r
82 .br\r
83 .Fn "wchar_t *wcschr" "const wchar_t *s" "wchar_t c"\r
84 .br\r
85 .Fn "size_t wcscspn" "const wchar_t *s1" "const wchar_t *s2"\r
86 .br\r
87 .Fn "wchar_t *wcspbrk" "const wchar_t *s1" "const wchar_t *s2"\r
88 .br\r
89 .Fn "wchar_t *wcsrchr" "const wchar_t *s" "wchar_t c"\r
90 .br\r
91 .Fn "size_t wcsspn" "const wchar_t *s1" "const wchar_t *s2"\r
92 .br\r
93 .Fn "wchar_t *wcsstr" "const wchar_t *s1" "const wchar_t *s2"\r
94 .br\r
95 .Fn "wchar_t *wcstok" "wchar_t *_PDCLIB_restrict s1" "const wchar_t *_PDCLIB_restrict s2" "wchar_t **_PDCLIB_restrict ptr"\r
96 .br\r
97 .Fn "wchar_t *wmemchr" "const wchar_t *s" "wchar_t c" "size_t n" \r
98 .br\r
99 .Fn "size_t wcslen" "const wchar_t *s"\r
100 .br\r
101 .Fn "wchar_t *wmemset" "wchar_t *s" "wchar_t c" "size_t n"\r
102 .\"\r
103 .Ss Wide Character String Formatting\r
104 .Fn "int swprintf" "wchar_t *_PDCLIB_restrict s" "size_t n" "const wchar_t *_PDCLIB_restrict format" "..."\r
105 .br\r
106 .Fn "int swscanf" "const wchar_t *_PDCLIB_restrict s" "const wchar_t *_PDCLIB_restrict format" "..."\r
107 .br\r
108 .Fn "int vswprintf" "wchar_t *_PDCLIB_restrict s" "size_t n" "const wchar_t *_PDCLIB_restrict format" "va_list arg"\r
109 .br\r
110 .Fn "int vswscanf" "const wchar_t *_PDCLIB_restrict s" "const wchar_t *_PDCLIB_restrict format" "va_list arg"\r
111 .br\r
112 .Fn "size_t wcsftime" "wchar_t *_PDCLIB_restrict s" "size_t maxsize" "const wchar_t *_PDCLIB_restrict format" "const struct tm *_PDCLIB_restrict timeptr"\r
113 .\"\r
114 .Ss Wide Character Input and Output\r
115 .Fn "int fwprintf" "FILE *_PDCLIB_restrict stream" "const wchar_t *_PDCLIB_restrict format" "..."\r
116 .br\r
117 .Fn "int fwscanf" "FILE *_PDCLIB_restrict stream" "const wchar_t *_PDCLIB_restrict format" "..."\r
118 .br\r
119 .Fn "int vfwprintf" "FILE *_PDCLIB_restrict stream" "const wchar_t *_PDCLIB_restrict format" "va_list arg"\r
120 .br\r
121 .Fn "int vfwscanf" "FILE *_PDCLIB_restrict stream" "const wchar_t *_PDCLIB_restrict format" "va_list arg"\r
122 .br\r
123 .Fn "int vwprintf" "const wchar_t *_PDCLIB_restrict format" "va_list arg"\r
124 .br\r
125 .Fn "int vwscanf" "const wchar_t *_PDCLIB_restrict format" "va_list arg"\r
126 .br\r
127 .Fn "int wprintf" "const wchar_t *_PDCLIB_restrict format" "..."\r
128 .br\r
129 .Fn "int wscanf" "const wchar_t *_PDCLIB_restrict format" "..."\r
130 .br\r
131 .Fn "wint_t fgetwc" "FILE *stream"\r
132 .br\r
133 .Fn "wchar_t *fgetws" "wchar_t *_PDCLIB_restrict s" "int n" "FILE *_PDCLIB_restrict stream"\r
134 .br\r
135 .Fn "wint_t fputwc" "wchar_t c" "FILE *stream"\r
136 .br\r
137 .Fn "int fputws" "const wchar_t *_PDCLIB_restrict s" "FILE *_PDCLIB_restrict stream"\r
138 .br\r
139 .Fn "int fwide" "FILE *stream" "int mode"\r
140 .br\r
141 .Fn "wint_t getwc" "FILE *stream"\r
142 .br\r
143 .Fn "wint_t getwchar" "void"\r
144 .br\r
145 .Fn "wint_t putwc" "wchar_t c" "FILE *stream"\r
146 .br\r
147 .Fn "wint_t putwchar" "wchar_t c"\r
148 .br\r
149 .Fn "wint_t ungetwc" "wint_t c" "FILE *stream"\r
150 .\"\r
151 .Ss Wide Character String Parsing\r
152 .Fn "double wcstod" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr"\r
153 .br\r
154 .Fn "float wcstof" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr"\r
155 .br\r
156 .Fn "long double wcstold" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr"\r
157 .br\r
158 .Fn "long int wcstol" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr" "int base"\r
159 .br\r
160 .Fn "long long int wcstoll" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr" "int base"\r
161 .br\r
162 .Fn "unsigned long int wcstoul" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr" "int base"\r
163 .br\r
164 .Fn "unsigned long long int wcstoull" "const wchar_t *_PDCLIB_restrict nptr" "wchar_t **_PDCLIB_restrict endptr" "int base"\r
165 .\"\r
166 .Ss Character Set Conversion\r
167 .Fn "wint_t btowc" "int c"\r
168 .br\r
169 .Fn "int wctob" "wint_t c"\r
170 .br\r
171 .Fn "int mbsinit" "const mbstate_t *ps"\r
172 .br\r
173 .Fn "size_t mbrlen" "const char *_PDCLIB_restrict s" "size_t n" "mbstate_t *_PDCLIB_restrict ps"\r
174 .br\r
175 .Fn "size_t mbrtowc" "wchar_t *_PDCLIB_restrict pwc" "const char *_PDCLIB_restrict s" "size_t n" "mbstate_t *_PDCLIB_restrict ps"\r
176 .br\r
177 .Fn "size_t wcrtomb" "char *_PDCLIB_restrict s" "wchar_t wc" "mbstate_t *_PDCLIB_restrict ps"\r
178 .br\r
179 .Fn "size_t mbsrtowcs" "wchar_t *_PDCLIB_restrict dst" "const char **_PDCLIB_restrict src" "size_t len" "mbstate_t *_PDCLIB_restrict ps"\r
180 .br\r
181 .Fn "size_t wcsrtombs" "char *_PDCLIB_restrict dst" "const wchar_t **_PDCLIB_restrict src" "size_t len" "mbstate_t *_PDCLIB_restrict ps"\r
182 .\"\r
183 .Sh SEE ALSO\r
184 .Xr string.h 3\r
185 .Xr uchar.h 3\r
186 .Xr wcscpy 3\r
187 .Xr wcsncpy 3\r
188 .Xr wmemcpy 3\r
189 .Xr wmemmove 3\r
190 .Xr wcscat 3\r
191 .Xr wcsncat 3\r
192 .Xr wcscmp 3\r
193 .Xr wcscoll 3\r
194 .Xr wcsncmp 3\r
195 .Xr wcsxfrm 3\r
196 .Xr wmemcmp 3\r
197 .Xr wcschr 3\r
198 .Xr wcscspn 3\r
199 .Xr wcspbrk 3\r
200 .Xr wcsrchr 3\r
201 .Xr wcsspn 3\r
202 .Xr wcsstr 3\r
203 .Xr wcstok 3\r
204 .Xr wmemchr 3\r
205 .Xr wcslen 3\r
206 .Xr wmemset 3\r
207 .\"\r
208 .Xr swprintf 3\r
209 .Xr swscanf 3\r
210 .Xr vswprintf 3\r
211 .Xr vswscanf 3\r
212 .Xr wcsftime 3\r
213 .\"\r
214 .Xr fwprintf 3\r
215 .Xr fwscanf 3\r
216 .Xr vfwprintf 3\r
217 .Xr vfwscanf 3\r
218 .Xr vwprintf 3\r
219 .Xr vwscanf 3\r
220 .Xr wprintf 3\r
221 .Xr wscanf 3\r
222 .Xr fgetwc 3\r
223 .Xr fgetws 3\r
224 .Xr fputwc 3\r
225 .Xr fputws 3\r
226 .Xr fwide 3\r
227 .Xr getwc 3\r
228 .Xr getwchar 3\r
229 .Xr putwc 3\r
230 .Xr putwchar 3\r
231 .Xr ungetwc 3\r
232 .\"\r
233 .Xr wcstod 3\r
234 .Xr wcstof 3\r
235 .Xr wcstold 3\r
236 .Xr wcstol 3\r
237 .Xr wcstoll 3\r
238 .Xr wcstoul 3\r
239 .Xr wcstoull 3\r
240 .\"\r
241 .Xr btowc 3\r
242 .Xr wctomb 3\r
243 .Xr mbsinit 3\r
244 .Xr mbrlen 3\r
245 .Xr mbrtowc 3\r
246 .Xr wcrtomb 3\r
247 .Xr mbsrtowcs 3\r
248 .Xr wcsrtombs 3\r
249 .\"\r
250 .Sh STANDARDS\r
251 Conforming to\r
252 .St -isoC-amd1 ,\r
253 .St -isoC-99 and\r
254 .St -isoC-2011 .