CString 转换成 char *

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

以上方法经常会用到。

原文地址:https://www.cnblogs.com/foundwant/p/3213794.html