CString,string,char,LPSTR,LPCSTR,LPWSTR,LPCWSTR,_bstr_t ,_variant_t 相互转换

本文详细介绍了C++中不同字符串类型之间的转换,包括string与char、CString、LPSTR/LPCSTR、LPWSTR/LPCWSTR、_bstr_t及 Variant_t 的相互转化方法,涉及窄字符与宽字符的转换,以及与int之间的转换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)string和char相互转化

        string strzz = "1234";

       const char* zz=strzz.c_str();

       string strvv = zz;//char直接赋值给string就可以了

(2)CString和string相互转化(本质就是宽字符和窄字符的转化)

     string strzz = "1234";
    CString nn(strzz.c_str());//string转化CString,利用构造函数

     USES_CONVERSION;
     CString strvv = A2W(strzz.c_str());//string转化CString

     string syy = W2A(strM.GetBuffer());/CString转化string

    strM.ReleaseBuffer();

(3)L=long,P=指针,c=const, T=由unicode决定,w=宽字符,str=string

        LPSTR = char *
  LPCSTR = const char *
  
  LPTSTR = TCHAR *
  LPCTSTR = const TCHAR *
  
  LPWSTR = wchar_t *
  LPCWSTR = const wchar_t *

(4)

    LPTSTR和TCHAR*可以直接赋值给CString(宽字符可以赋值给CString) 

   CString=  LPTSTR;

  LPTSTR pt=CString.GetBuffer();

string strzz = "1234";

 LPSTR nntt = LPSTR(strzz.c_str());//string转化 LPSTR
 LPTSTR ptz = A2W(nntt);//LPSTR转化为LPTSTR,窄字符转化为宽字符

(5)

int iN = _ttoi(strM);//CString 转int

int iS=atoi(strzz)//string转int

(6)

nt iz = atoi("1");
    string ss = std::to_string(iz);//int转string
    CString strb;
    strb.Format(_T("%d"), iz);//int转CString

(7)

    _bstr_t aa = strM;//string和CString直接赋值给_bstr_t;
    strM = LPTSTR(aa);
    string ww = LPSTR(aa);

(8)

_variant_t ss = strM;//CString 转 _variant_t
    strM = ss.bstrVal;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ttdklhh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值