strcpy(mtext.GetBuffer(128),buffer);
mtext.ReleaseBuffer();
//  也可以直接
m_test = buffer;

解决方案 »

  1.   

    直接用 mtext = buffer即可实现你的要求。
    strxxx()函数的原型定义要求两个参数都必须是char*类型,要避免出警告可以使用强制类型转换,即在参数前面加上(char*)即可:strcpy((char*)buf1, (char*)buf2)
      

  2.   

    LPCSTR即const char *,而strcpy的第一个参数是char *,当然错罗。其实你不能对CString对象这样操作,只须mtext=buffer就可以了。可以strcpy(buffer, LPCSTR(mtext))。
      

  3.   

    1.在类型转换中,from 'const char *' to 'char *'不行,反之from 'char *' to 'const char *'可以。
    2。如果用LPCSTR,则将mtext限制为const,注意LPCSTR中的‘C'是const,一个const类型当然是不能赋值的,改为LPTSTR应该可以。
    3。用CString的函数来赋值应该更好一些。
      

  4.   

    LPCSTR指针是将CString对象转换成char型常量而提供的,是一个常量。你首先将一个空的CString对象转换成const char *,即一字符常量,然后再copy则肯定出错。
      

  5.   

    要说明一点的是变量m_text是与编辑框控件(IDC_EDIT)
    相对应的变量。
      

  6.   

    感谢给予指教的给路相助的高手,问题已经
    解决,不过使用hyzx2000提供的函数比较好
    一点,若两者直接传递数据,有时会出问题,
    不知原因为何。另外对于ad和wsoft也表示
    感谢,使我明白了问题的错误所在。
    不久,我将给各位打分。
    再表感谢!
      

  7.   

    既然用CString 类,为什么不用类成员函数,Format就可以了,
    mtext.Format("%s",buffer);