CString与char的转换问题,用强制转换报了如下错误,应该如何进行转换呢?CString strName;TCItem.item.pszText="ok";//显示正常
TCItem.item.pszText=(char)strName;//报如下错误error C2440: 'type cast' : cannot convert from 'class CString' to 'char'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.

解决方案 »

  1.   

    sprintf(&TCItem.item,pszText,strName);
      

  2.   

    楼上的兄弟,还是报同样的错误。。error C2440: 'type cast' : cannot convert from 'class CString' to 'char *'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    Error executing cl.exe.
      

  3.   

    strcpy(TCItem.item.pszText, strName);
      

  4.   

    二楼的兄弟,还是报同样的错误。。error C2440: 'type cast' : cannot convert from 'class CString' to 'char *'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    Error executing cl.exe.
      

  5.   

    TCItem.item.pszText=(char*)(const char*)strName
      

  6.   

    strcpy(strName,(LPCSTR)TCItem.item.pszText)
      

  7.   

    TCItem.item.pszText=(LPSTR)(LPCTSTR)strName;
      

  8.   

    to webber84(***闭关修炼中***) :
    按你的方法调试成功,能否详细解释为什么要这样转换,让大家一起学习学习?thanks
      

  9.   

    TCItem.item.pszText=(LPSTR)(LPCTSTR)strName;
      

  10.   

    to sailor_2002(我心依旧) 和xhncmecx(毛刚) :
    按照你们的方法也可以成功通过,请问能否给出这样转换的详细理由,以供大家学习?
      

  11.   

    CString有一个类型转换操作符可以把它转化为const char*,然后可以将const char*转化为char*。这个过程必须分两步,因为VC不是知道怎么将CString直接转化为const char*