我是 Windows 编程的新手,在阅读 Petzold 的书后,我想知道:
is it still good practice to use the TCHAR
type and the _T()
function to declare strings or if I should just use the wchar_t
and L""
新代码中的字符串?
我将只针对 Windows 2000 及更高版本,我的代码从一开始就是 i18n 。
原文由 Fábio 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我今天做一个新项目,我仍然会使用 TCHAR 语法。使用它和 WCHAR 语法之间没有太大的实际区别,我更喜欢在字符类型是什么方面明确的代码。由于大多数 API 函数和辅助对象采用/使用 TCHAR 类型(例如:CString),因此使用它才有意义。此外,如果您决定在某个时候在 ASCII 应用程序中使用代码,或者 Windows 曾经演变为 Unicode32 等,它还为您提供了灵活性。
如果您决定走 WCHAR 路线,我会明确说明。也就是说,使用 CStringW 代替 CString,并在转换为 TCHAR 时转换宏(例如:CW2CT)。
无论如何,这是我的看法。