积累下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]; 这种用法。
![](http://image.webstory.my/WebStoryLogo32.png)
本文用菊子曰发布
有下面几种方法可以把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]; 这种用法。
![](http://image.webstory.my/WebStoryLogo32.png)
本文用菊子曰发布
相关文章推荐
- Java中关于字符串转成毫秒数以及毫秒数转化成字符串的总结
- VC6中将UNICODE字符串转化为浮点数
- 关于字符串转化为整型数和浮点数
- VC将输入框中的数字字符串转化为数字
- VC 字符串转化和分割
- 关于字符串转化为数字的深度优化两种算法
- VC中关于字符串处理问题小结
- 上两道js面试题,关于数组字符串 之间的转化
- iOS积累--字符串转化为NSDate, 获取当前时区的系统时间
- 关于C#中货币类型和数值类型、字符串类型的转化和在DataGridView中的显示问题:
- 关于struts1中字符串和时间转化方式
- VC中一个关于宏的使用问题,字符串之间转换,宽字符与普通字符
- Java中关于Json对象类型和字符串类型之间互相转化的问题 .
- 关于各种字符串转化和数字和字符串转化的问题
- 关于将整数转化为字符串
- 关于VC++的字符串
- 关于字符串数据转化为float类型的问题
- 【深度历险】:VC 关于定点数 VT_DECIMAL 转换为字符串CString的函数探秘!
- c++关于字符串的操作(转化为整数,输入)
- 关于字符串中数字字符转化为数字 sscanf的使用以及strchr的使用