VC2003的工程转到2005出现很多这种错,怎么设置可以让2005兼容 unsigned short [256]和LPWSTR的直接转换赋值操作??

解决方案 »

  1.   

    LPWSTR是一个指向UNICODE字符串的长指针,你把定义的unsigned short [256]数组名给它就行了。
      

  2.   

    别不高兴,这是你编译习惯的不好,用TCHAR代替char,用 _T("string")代替"string"就没有这个问题。如果你的项目比较大,全部替换困难,也可以项目属性的常规里面,把字符集由unicode字符集改成使用多字节字符集来解决。
      

  3.   

    unsigned short buf[10] = {0};
    for(int i=0; i<sizeof(buf)/sizeof(buf[0]); i++)
    {
    buf[i] = i;
    }
    WCHAR tmp[10] = {0};
    WCHAR szText[256] = {0};
    for(int i=0; i<sizeof(buf)/sizeof(buf[0]); i++)
    {
    swprintf(tmp, L"%d", buf[i]);
    wcscat(szText, tmp);
    }
    AfxMessageBox(szText);