我正在修改一些非常古老(10 年)的 C 代码。代码在 Unix/Mac 上用 GCC 编译,在 Windows 上用 MinGW 交叉编译。目前全是 TCHAR 字符串。我想摆脱 TCHAR 并改用 C++ 字符串。是否仍然需要使用 Windows 范围的函数,或者我现在可以使用 Unicode 和 UTF-8 做所有事情吗?
最佳答案
Windows 仍然使用 UTF16,而且很可能永远都会使用。因此,您需要使用 wstring
而不是 string
。 Windows API 不直接提供对 UTF8 的支持,主要是因为 Windows 在发明 UTF8 之前就支持 Unicode。
因此,编写将在 Windows 和 Unix 平台上编译的 Unicode 代码是相当痛苦的。
关于c - 我应该从 Windows 代码中删除 TCHAR 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315566/