在 Mac OS X 系统上浏览文件 wchar.h 时,我发现当未定义 __cplusplust 并且 wchar_t 的最大大小为 2 字节时(通过使用编译器选项 -fshort -wchar)。
似乎对于 C 程序,如果定义了 -fshort-wchar,则不允许使用此类函数。我想知道使用 -fshort-wchar 时使用 wchar_t 函数的含义是什么?
您可能想知道为什么我需要使用 -fshort-wchar。因为,我正在移植一个最初为 Windows 编写的应用程序,其中 wchar_t 的大小为两个字节。保存在 wchar_t 字符串中的数据被写入文件,并且还在两个应用程序之间交换。
什么是处理不同平台上 wchar_t 可变性的好方法?Windows 上的假设是 wchar_t 为 16 位。