您的位置:首页 > 其它

积累下VC中关于字符串的转化

2011-05-02 12:31 155 查看
在用VC开发的程序中我们经常被不同类型的字符串定义类型所迷惑,现在我在此贴中开始把自己遇到的相关的不同字符串间相互转化的例子给总结起来,以利于以后的工作。

有下面几种方法可以把CString类型转换为char*(LPTSTR)类型:
一、强制转换
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);
三、使用CString::GetBuffer
CString s(_T("This is a test"));
LPTSTR p=s.GetBuffer();

四、使用wsprintf
char szBuffer[128];
wsprintf(szBuffer, "%s", strEdit);

要注意的是:一般来说,“字符串”型变量(LPSTR, LPTSTR, 等)一定要这样用
LPSTR lpszABC;
lpszABC = (LPSTR)malloc(128);
也就是说,要先分配内存,不然会出错。所以,推荐 char szBuffer[128]; 这种用法。



本文用菊子曰发布
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: