zoukankan      html  css  js  c++  java
  • MFC知识点整理

    【MFC】CString 与 string 间的转换

    WeiGordon 2019-05-22 15:28:58 16570 收藏 39
    分类专栏: MFC C++
    版权
    宽字节字符集(Unicode)、多字节字符集(Multi-Byte) 自适应转换:
    CString 转 string

    CString cstrTest = _T("test");
    string strTest;
    string = CT2A(cstrTest.GetString());
    1
    2
    3
    string 转 CString

    string strTest="test";
    CString cstrTest;
    cstrTest= CA2T(strTest.c_str());
    1
    2
    3
    这里使用的方法是ATL字符串转换宏。

    CT2A 、CA2T 在 Unicode 字符集下为 CW2A 、CA2W,在Muti-Byte字符集下都为 CA2A。

    CW2A 将宽字符集(Unicode)转化为多字符集(ASCII)
    CA2W 将多字符集(ASCII)转化为宽字符集(Unicode)

    其中
    C:convert
    W:宽字符串,也就是 UNICODE
    2:to
    A:ANSI 字符串,也就是 Muti-Byte。
    T : 中间类型,如果定义了 _UNICODE,则T表示W;如果定义了 _MBCS,则T表示A

    具体ATL方法及注意事项参考:
    yunshouhu 的 《ATL字符串转换宏》

    Unicode下:
    CString 转 string

    CString cstrTest = _T("test");
    string strTest;
    string = CW2A(cstrTest.GetString());
    1
    2
    3
    string 转 CString

    string strTest="test";
    CString cstrTest;
    cstrTest= CA2W(strTest.c_str());
    1
    2
    3
    多字符集下:
    (没有尝试,理论上应该是)
    CString 转 string

    CString cstrTest = _T("test");
    string strTest;
    string = CA2A(cstrTest.GetString());
    1
    2
    3
    string 转 CString

    string strTest="test";
    CString cstrTest;
    cstrTest= CA2A(strTest.c_str());

    原文链接:https://blog.csdn.net/Gordon_Wei/article/details/90443677

  • 相关阅读:
    23. CTF综合靶机渗透(十六)
    1.7 xss之同源策略与跨域访问
    6.wireshark使用全解
    29.极具破坏力的DDoS:浅析其攻击及防御
    6.【转载】业务安全漏洞挖掘归纳总结
    28.【转载】挖洞技巧:APP手势密码绕过思路总结
    27.【转载】挖洞技巧:如何绕过URL限制
    WordPress整站轻松开启HTTPS
    观复嘟嘟观古今
    房价会下跌么?
  • 原文地址:https://www.cnblogs.com/adong7639/p/13372535.html
Copyright © 2011-2022 走看看