这方面的文档相当缺乏,所以我希望社区可以在这里运行一个简单的测试并发布结果,以便我和其他任何人都有参考。
#include <cwchar>
sizeof( std::mbstate_t );
如果您可以在此处发布结果并提及您正在使用的编译器,我将不胜感激。
在 VS2010 上,它被声明为typedef int mbstate_t;
32 位和 64 位版本的大小均为 4 字节。
我问这个是因为mbstate_t
是streampos
. 我需要使用这个成员来存储编码的转换状态。我可以逃脱的最小空间是 3 个字节,所以我需要知道是否有任何实现会破坏我的代码。
提前致谢。