Visual C++中的数据类型转换

来源:网络时间:2023-12-31 00:12:39

  若将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成员函数

本文内容为用户投稿,该文观点仅代表作者本人,不代表本站立场,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请将相关资料发送至[email protected]进行反馈与投诉,一经查实,立即处理!
多特网友2012-06-15 08:25:17回复
还不错啊,蛮有用的
多特网友2012-06-15 08:25:17回复
还不错啊,蛮有用的