怎么从CString 里面的字符串转化成以 LPSTR 指向的字符串。我觉得从CString 里面获得像 LPSTR 这样的指针很麻烦

解决方案 »

  1.   

    LPTSTR CString::GetBuffer( int nMinBufLength );
      

  2.   

    CString str;
    LPTSTR p = str.GetBuffer(str.GetLength() + 1);
      

  3.   

    我错了
    应该是 CString str;
    LPSTR s;
    s=str.GetBuffer(str.GetLength());
      

  4.   

    CString str;
    LPTSTR p = str.GetBuffer(str.GetLength() + 1);
    如果修改了p,最后记得要调用str.ReleaseBuffer();也可以这样:
    LPTSTR p = (LPTSTR)(LPCTSTR)str;
      

  5.   

    注意调用ReleaseBuffer释放。CString还是用来存储静态的字符串比较好。
      

  6.   

    str.GetBuffer(0);
    就是得到所有的大小了!
      

  7.   

    强制转换就ok了(LPSTR)(LPCTSTR)str