glib gunichar和wchar_t之间有什么区别,哪个更适合跨平台解决方案?

cko*_*kot 5 c unicode cross-platform wchar-t glib

我正在尝试编写一些只有用户可以移植的C代码gcc,并且已glib安装.

从我的所有研究中,我发现gcca,a wchar_t总是定义为4个字节,gliba gunichar也是4个字节.

想到的是,如果像a gunichar,a wchar_t也被编码为UCS4.是这样的吗?如果是这样,我应该能够简单地转换gunichar*为a wchar_t*并使用这些stdc wcs*函数,对吗?

rub*_*nvb 8

如果您使用GLib,请不要使用wchar_t.使用它的unicode支持,它比C标准库的支持好得多.

wchar_t在Linux和Mac OS(以及其他一些)上是4个字节,而不是在Windows(它是2个字节)和其他一些字节.便携式代码意味着wchar_t像瘟疫一样避免.