问题描述:
解决问题:
通过设置工程属性 --》 配置属性 --》字符集 --》 使用 Unicode 字符集 。
然后通过 将 str.Format("打开设备成功;vId:%x,pId:%x",USB_VID,USB_PID);
变为 str.Format(L"打开设备成功;vId:%x,pId:%x",USB_VID,USB_PID);
这样程序在用 createFile();打开USB设备时,就不返回错误码了,打开正常。
解决!!!
总结:
问题避免:
字符集: 使用 Unicode 字符集、使用多字节字符集、未设置。
在vs2010的工程属性设置中,存在字符集的选项,这个对程序会产生一定的问题,对于没有遇见过此问题的人,
刚开始可能一头雾水,所以有必要追本溯源,了解字符集的历史,从根本上认识问题,才有可能解决问题。
认识:
避免思路:
参考资料:
1. https://blog.csdn.net/kezhen/article/details/7416662