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

来源:网络时间:2011-06-29

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

[展开全部↓]

相关攻略

查看更多
发表评论

最新评论(共1条)

2345市网友

还不错啊,蛮有用的

2012-06-15 0

回复@2345网友:

  • 取消