我的最终目标是通过C++程序在Windows中将一些非拉丁文本输出写入控制台。通过C++程序在PowerShell中打印Unicode字符
cmd.exe让我无处可去,所以我得到了PowerShell的最新发亮版本(支持unicode)。我已验证我可以
- 型非Unicode字符和
- 看到窗口的命令非Unicode控制台输出(如“目录”)
例如,我有这个文件中,“가.TXT”(가是韩文字母的第一个字母),我可以得到一个输出这样的:
PS P:\reference\unicode> dir .\가.txt
Directory: P:\reference\unicode
Mode LastWriteTime Length
Name
---- ------------- ------
----
-a--- 1/12/2010 8:54 AM 0 가.txt
到目前为止好。但使用C++程序写入控制台不起作用。
int main()
{
wchar_t text[] = {0xAC00, 0}; // 가 has code point U+AC00 in unicode
wprintf(L"%s", text); // this prints a single question mark: "?"
}
我不知道我在想什么。我可以在控制台上键入并看到가的事实似乎表明我有三个需要的部分(unicode支持,字体和字形),但我必须弄错。
我也试过“chcp”没有任何运气。我在C++程序中做错了什么?
谢谢!
我刚刚注意到做“PS> [char] 0xAC00”打印正确的字符。所以我确实在我的应用程序中做错了什么... – 2010-01-21 08:25:37