EVC下CString和TCHAR*的转换

来源:互联网 发布:c语言二进制转十进制 编辑:程序博客网 时间:2024/05/16 11:34

在EVC下写程序,经常会遇到CString和TCHAR之间相互转换的问题。

CString->TCHAR*的转化可以用函数GetBuff()

函数原型为:LPTSTR GetBuffer( int nMinBufLength );
CString str("CString");
 TCHAR* szMsg = new TCHAR[100];
 //其参数为CString字符串的长度
 szMsg = str.GetBuffer(str.GetLength());
 str.ReleaseBuffer();
 delete []szMsg;
 szMsg = NULL;

TCHAR*->CString的转化

TCHAR szTchar[18] = L"TCHAR";  
 CString  str;  
 str.Format(_T("%s"),szTchar);


在EVC中,字符串的一些函数也都发生了变化,例如字符串拷贝,比较和连接变成了wcscpy 、acscmp 和wcscat。

还有一点要注意:在EVC下编程很容易发生内存泄漏。这一点在VC中体现的不是很明显,但是在EVC中特别明显,有一个new或malloc来申请内存,一定要有相应的delete或free来释放内存,否则很容易发生死机。

原创粉丝点击