ToUnicode跳过某些字符

时间:2014-05-15 21:02:12

标签: c++ unicode utf-8 wchar-t wofstream

这是我目前正在运行的代码:

wofstream os("out.txt");
unsigned char kbs[256]={ 0 };
GetKeyboardState(kbs);
LPWSTR wout = new wchar_t[10];
ToUnicode(vkCode,scanCode, kbs, wout, 10, 0);
os.write(wout, wcslen(wout));

这会将大多数字符转换为unicode,并将它们写入文件,但它不适用于čšžđć等字符(也可能更多,但这些是我注意到的),也是在达到其中一个字符之后我的程序崩溃,所以我甚至无法检查ToUnicode上的返回值如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

我已经解决了在本网站上使用facet设置方面的区域设置问题: http://www.codeproject.com/Articles/38242/Reading-UTF-with-C-streams#mozTocId294242