展开全部
这个是双字节,和单字节的问题。你现在得到的是双字节字符串,显示的时候你又将双字节的字符串用单字节字符串的显示方式来显示了,而字符串的终止符是0,所以遇到第一个0就停止显示了。
解决的方法,1.是将双字节的字符串变成单字节的字符串;然后再显示;
2.直接显示双字节字符串的函数,你看看有没有wcout。
解决的方法,1.是将双字节的字符串变成单字节的字符串;然后再显示;
2.直接显示双字节字符串的函数,你看看有没有wcout。
追问
BUffer 是char*
中间 bi.pszDisplayName = Buffer
不能通过 说CString 无法转到 LPWSTR
强转(LPWSTR)Buffer之后,又取地址
SHGetPathFromIDList(pIDList, (LPSTR)Buffer);
就成这样了
能不能不强制转换,别的方法可以得到?
追答
直接显示双字节字符串的函数,你看看有没有wcout。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询