CString const char*与char*之间的转换关系
2008-04-19 20:39
537 查看
CString是个好东西,有很多好用的成员函数,并且动态分配内存空间。但在MFC学习初期,容易把CString与const char*,char*混淆。遇到三种类型数据转换时,总是得过且过。下面就剖析一下三者之间的转换关系与方法。
1、CString与const char*(LPCTSTR---是在Unicode环境下const char*的宏定义)
CString类提供一个const char*()把CString类型转换为LPCTSTR类型。
比如AfxMessageBox()的使用,可以采用:
char szMessageText[] = "Unknown error";
AfxMessageBox(szMessageText);
也可以这样:
CString strMessageText("Unknown ;error");
AfxMessageBox(strMessageText);
CString类也提供了一个构造函式把LPCTSTR类型转换为CString类型。比如:
CString strTruth;
strTruth += " is alive";
2、CString与char*
调用CString::GetBuffer在Buffer中开辟一定大小的空间并返回一个char*。注意要在使用完char*后要调用CString::ReleaseBuffer以此保证CString的动态性。例如:
1、CString与const char*(LPCTSTR---是在Unicode环境下const char*的宏定义)
CString类提供一个const char*()把CString类型转换为LPCTSTR类型。
比如AfxMessageBox()的使用,可以采用:
char szMessageText[] = "Unknown error";
AfxMessageBox(szMessageText);
也可以这样:
CString strMessageText("Unknown ;error");
AfxMessageBox(strMessageText);
CString类也提供了一个构造函式把LPCTSTR类型转换为CString类型。比如:
CString strTruth;
strTruth += " is alive";
2、CString与char*
调用CString::GetBuffer在Buffer中开辟一定大小的空间并返回一个char*。注意要在使用完char*后要调用CString::ReleaseBuffer以此保证CString的动态性。例如:
相关文章推荐
- CString const char*与char*之间的转换关系
- CString const char*与char*之间的转换关系
- CString const char*与char*之间的转换关系
- CString const char*与char*之间的转换关系
- CString const char*与char*之间的转换关系
- const char *,char * ,string,char []之间的关系和转换
- C++中int、string、const char*、CString之间的相互转换
- CString与int、char*、char[100]之间的转换
- VC CString,int,string,char*之间的转换
- VC CString,int,string,char*之间的转换
- 不存在从CString到const char*的转换
- CString,int,string,char,BSTR之间的转换
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
- CString,int,string,char*之间的转换
- error C2440: “=”: 无法从“CString”转换为“const char *”
- char*,string,CString,int,char[]之间的转换
- 不能将参数 1 从“CString”转换为“const char *”
- “atof”: 不能将参数 1 从“CString”转换为“const char *”
- char*,const char*, string,int之间的转换
- VC之CString,wchar_t,int,string,char*之间的转换