关于将BYTE bCompany2[] 转化成 TCHAR m_company[]的问题

nuanshuiping   2010-1-20 15:40 楼主
请问 我如何将BYTE bCompany2[] 转化成 TCHAR m_company[],我用下面的方法:
  1. DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, (const char *)bCompany2, -1, NULL, 0);        
  2. MultiByteToWideChar (CP_ACP, 0, (const char *)bCompany2, -1, m_company, dwNum);


但是当bCompany2 是“kabcd”的时候,m_company却是k 只是第一个字符,我该如何修改呢?谢谢大家
环境 :EVC

回复评论 (5)

dwNum 的返回值是多少?
点赞  2010-1-20 16:33
引用: 引用 1 楼 guopeixin 的回复:
dwNum 的返回值是多少?

返回值也是不对的,返回值是2
点赞  2010-1-20 16:57
bCompany2是数组吧?

DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, bCompany2, -1, NULL, 0);

这样应该就可以得出正常的dwNum了
点赞  2010-1-20 19:29
只获得当前的第一个字符,可能是指针造成的…
点赞  2010-1-21 11:47
引用: 引用 3 楼 liuysheng 的回复:
bCompany2是数组吧?

DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, bCompany2, -1, NULL, 0);

这样应该就可以得出正常的dwNum了

像您这样会报错的,我已经还别的方法做了,不用这个指令了呵呵 谢谢大家的回复
点赞  2010-2-4 16:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复