TextOut() 和 Shift-JIS(日语字符)

TextOut() and Shift-JIS (Japanese characters)

我有一个程序,我一直在使用 TextOut() 在屏幕上打印正常的 ASCII 字符串。我现在想添加打印出 Shift-JIS 编码字符串的功能。我能以某种方式告诉 TextOut() 我想打印一个 Shift-JIS 字符串还是我必须完全使用另一个函数? TextOut 的文档似乎没有提到编码。

仅供参考:我的程序目前是用 MS visual studio 2015 编译的,"Character Set" 设置为 "Use Multi-Byte Character Set"。

感谢 andlabs,这里是完整的答案。这在将 "Character Set" 设置为 "Use Multi-Byte Character Set" 的情况下编译程序时有效。我不想将 "character set" 设置为 unicode 进行编译,因为这会破坏太多现有代码。

    char shift_jis_string[MAX_STR_LEN]; // null terminated

    // blah blah, setting shift_jis_string

    WCHAR unicode_string[MAX_STR_LEN];

    int n = MultiByteToWideChar(932,0,shift_jis_string,-1,unicode_string,MAX_STR_LEN);

    TextOutW(hdc,X,Y, unicode_string, n); // note the W on the end