为什么出现这个错误啊?我要如何解决?很多结构的成员都是数组,怎么转换?error C2664: 'strcpy' : cannot convert parameter 1 from 'WCHAR [32]' to 'char *'

解决方案 »

  1.   

    WCHAR :16-bit Unicode character. For more information, see Character Sets Used By Fonts. 看你转换后有什么用了,最简单就是强制转换了。
      

  2.   

    用 wcscpy
    strcpy 的 UNICODE 版
      

  3.   

    或者用 WideCharToMultiByte(); //如果你的工程不是Unicode
      

  4.   

    用 wcscpy
    strcpy 的 UNICODE 版一样有问题,我试过。
      

  5.   

    HOHO,托盘的话,这样吧:
    MultiByteToWideChar(...);
    lstrcpyW(...);
    先把字符串转换成 UNICODE,然后复制就可以了。
      

  6.   

    char *tip="课程表";
    WCHAR *w_tip=new WCHAR[sizeof(tip)+1];
    MultiByteToWideChar(CP_ACP,MB_COMPOSITE,tip,sizeof(tip),w_tip
    ,sizeof(w_tip));
    lstrcpyW(m_ntfIcon.szTip,w_tip);是这样吗?
      

  7.   

    哦,要把sizeof(tip)改成-1。谢了