是这样的,因为工程为UnicodeMFC工程,经常遇见转字符集问题,W2A 和A2W是最便捷的方式,在大多数电脑转字符集都正确,可是在特定xp电脑上W2A函数转出来的字符串(汉字)为????,调用WideCharToMultiByte转换的话正常,,求解这是为什么(已经尝试了更新MFC sp1运行库还是不行)。
W2A调用WideCharToMultiByte时,参数CodePage为CP_THREAD_ACP(_acp =ATL::_AtlGetConversionACP()),如果调试时改为CP_ACP,则正常。(A2W同之)
http://bbs.csdn.net/topics/280054189
可能是bug,把VS升级到新版本试试呢。
很高兴您的回答,我遇到的问题是现场的问题,是已经发行的软件,正常的电脑都是能获取到值得,只有现场一家xp电脑使用时发现了这种问题,现在找不到好的解决方案