4

OutputDebugString()是本机 ASCII,这意味着它在调用 ASCII 版本之前将输入的 Unicode 字符串转换为本地字符串OutputDebugStringA()

有没有OutputDebugString()支持Unicode的替代方案?

4

1 回答 1

5

OutputDebugStringW内部调用OutputDebugStringA,因此无法在系统代码页中表示的 Unicode 字符将替换为?.

奇怪的是,调试器从操作系统接收到的用于打印消息的OUTPUT_DEBUG_STRING_INFO结构似乎支持让调试器知道字符串是否为 Unicode,但它似乎根本不被使用OutputDebugStringW

不幸的是,我不知道让操作系统使用 Unicode 字符串引发OUTPUT_DEBUG_STRING_EVENT的机制。公共 API 可能无法实现。

于 2013-10-18T06:41:14.587 回答