CString 转换成 char *

时间:2022-12-21 20:19:33

最近用到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);

以上方法经常会用到。