分享

CString类转换成char*(LPSTR)类型

 guoliyan1 2012-02-05
Visual C++中的数据类型转换
发布于:软件开发网 来源:Duote 作者:佚名 时间:2011-09-25 22:55


  若将CString类转换成char*(LPSTR)类型,常常使用下列三种方法:

  方法一,使用强制转换。例如:

  CString theString( "This is a test" );

  LPTSTR lpsz =(LPTSTR)(LPCTSTR)theString;

  方法二,使用strcpy。例如:

  CString theString( "This is a test" );

  LPTSTR lpsz = new TCHAR[theString.GetLength()+1];

  _tcscpy(lpsz, theString);

  需要说明的是,strcpy(或可移值Unicode/MBCS的_tcscpy)的第二个参数是 const wchar_t* (Unicode)或const char* (ANSI),系统编译器将会自动对其进行转换。

  方法三,使用CString::GetBuffer。例如:

  CString s(_T("This is a test "));

  LPTSTR p = s.GetBuffer();

  // 在这里添加使用p的代码

  if(p != NULL) *p = _T(’\0’);

  s.ReleaseBuffer();

  // 使用完后及时释放,以便能使用其它的CString成员函数


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多