cplusplus
.com
教程
参考
文章
论坛
C++
教程
参考
文章
论坛
参考
C 库
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
容器
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
输入/输出
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
多线程
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
其他
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<cwchar> (wchar.h)
函数
btowc
fgetwc
fgetws
fputwc
fputws
fwide
fwprintf
fwscanf
getwc
getwchar
mbrlen
mbrtowc
mbsinit
mbsrtowcs
putwc
putwchar
swprintf
swscanf
ungetwc
vfwprintf
C++11
vfwscanf
C++11
vswprintf
C++11
vswscanf
vwprintf
C++11
vwscanf
wcrtomb
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod
C++11
wcstof
wcstok
wcstol
C++11
wcstold
C++11
wcstoll
wcstoul
C++11
wcstoull
wcsxfrm
wctob
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wprintf
wscanf
类型
mbstate_t
size_t
struct tm
wchar_t
wint_t
宏常量
NULL
WCHAR_MAX
WCHAR_MIN
WEOF
参考
<cwchar>
mbstate_t
类型
<cwchar>
mbstate_t
多字节转换状态
在多字节字符序列和宽字符序列之间(双向)维护转换状态所需的信息类型。
多字节序列编码可能有不同的移位状态,这些状态会改变下一个字节字符的解释方式。类型为
mbstate_t
的值可以在函数调用之间保持这些状态,以便对序列的转换可以安全地在多次调用中执行。
所有有效多字节序列都应该以相同的状态开始(并结束)(称为其初始状态)。一个值为零的
mbstate_t
对象总是描述一个初始转换状态,尽管其他值也可能表示这种状态(取决于具体的库实现)。
一个
mbstate_t
对象(
mbs
)可以通过调用
1
memset (&mbs,0,
sizeof
(mbs));
// mbs is now a zero-valued object
两个
mbstate_t
值不应该相互比较以检查特定的状态;
mbstate_t
对象的初始状态状态可以用函数
mbsinit
检查。
另见
mbsinit
检查是否为初始转换状态
(函数)