最近用到CString类,转换成 char * 类型,下面介绍用法:
一、CString 和 LPSTR 转换:
CString转换成LPSTR:
方法一:CString server;
LPSTR lpStr = server.GetBuffer(0);
server.ReleaseBuffer(0);
方法二:CString server;
LPSTR lpStr = (LPSTR)(LPCSTR)server;
LPSTR转换成CString:
LPSTR lpStr = L"TestStr";
CString str(lpStr);
注意:CString和LPCSTR可直接转换,如下:
CString str;
LPCSTR lpcStr = (LPCSTR)str;
二、CString 和 char* 转换
CString转换成char *:
方法一:
CString str;
char* p = str.GetBuffer(0);
方法二:
CString str;
char* p = (LPSTR)(LPCSTR)str;
注意:这里不是强制类型转换两次,是一个重载后的操作符。第二种写法有类自己默认的转化方式,第一种写法只是显式地调用了它的方法。
char*转换成CString:
char* p = "test";
CString str = ("%s",p);
以上方法经常会用到。