Hasty Briefsbeta

双语

The char-TCHAR-wchar_t Pendulum in Windows API Native C/C++ Programming

6 months ago
  • #C++
  • #Unicode
  • #Win32 API
  • 从Visual C++ 4开始,在Windows 95上学习用C/C++进行Windows Win32 API编程,当时使用char类型处理字符串。
  • 后来转向TCHAR模型以实现ANSI/Unicode兼容,用TCHAR替代char,并使用TEXT宏。
  • 最终采用Unicode(UTF-16)和wchar_t以支持国际化软件,使用L"..."表示字符串字面量,并调用CreateWindowW等API。
  • 指出ANSI/MBCS(如CP-1252编码)对非西方语言的局限性,以及字符表示存在歧义的问题。
  • 注意到Visual C++ 2005默认切换到Unicode(UTF-16),以及近期Windows 10在-A API中支持UTF-8的特性。