Windows 字符串处理宏(适应与Unicode及多字节字符集)

在 windows 下编程时,处理字符串需要考虑的问题比在 linux 环境下要多得多,尤其是在处理 unicode 和多字节字符集时。如何编写既能在 unicode 字符集下编译,也能在多字节字符集下编译通过的代码,是需要掌握很多信息的。除了之前推荐的“api入门系列之二”的文章外,本文将详细介绍一些适用于 unicode 和多字节字符集的宏,以及在不确定使用何种宏时如何查询这些信息。我们首先来看一个例子:

代码语言:javascript 代码运行次数:0

运行 复制 ```javascript #include "stdafx.h" #include "Win32Project.h" int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { wchar_t wcMessage[] = L"Hello World"; MessageBox(NULL, wcMessage, NULL, MB_OK); return 0; } ```

如果你在阅读本文时,对

多字节
Unicode
ASCII
等概念还不清楚,请转至以下文章学习:

  • API入门系列之一 - 那‘烦人’的Windows数据类型 https://www./link/2fd71648d0bfec3f35c7415c3901a72c
  • API入门系列之二 - Unicode还是ASCII https://www./link/d1d0ce9cb7dc63978000e8d3b82c3f74
  • API入门系列之三 - 那迷惑人的Windows字符和字符指针类型 https://www./link/1d03841ea08e08c6e1c43cee7e07aaaa