CString如何转化为LPBYTE?
C_to_LP(CString str)
{
  
  ....
  return lp_str  //lp_str是转化完的LPBYTE类型的变量}请帮我实现

解决方案 »

  1.   

    CString s("abc");
    LPBYTE p = (LPBYTE)(LPCTSTR)s;另外,你的函数有点问题,最好使用引用来传值,直接传的话构造的是一个临时对象,函数结束后返回的是一个野指针
    LPBYTE C_to_LP(CString &str)
    {
       return (LPBYTE)(LPCTSTR)str //lp_str是转化完的LPBYTE类型的变量}
      

  2.   

    楼上正解
    但楼主要注意的就是,CString这个类有些特殊,它的buffer地址并不一定是固定的,楼主尽量做到即用即取,也就是说,返回的LPBYTE并不是每时每刻都有效的,一旦CString对象的buffer地址改变了,LPBYTE 可能就变成一个野指针了