和老公感情淡了怎么办:CString类转换成char*(LPSTR)类型

来源:百度文库 编辑:中财网 时间:2024/05/11 04:54:39
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成员函数