2、CString与string借助char *互转

CString是MFC中的类,MFC前端界面中获得的字符串是CString类。标准C/C++库函数是不能直接对CString类型进行操作的。

string是C++中的类。

安全性  CString > string > char*;
灵活性  CString > string >char*;
可移植性 char* = string > CString

复制代码
    char *p = "char* 转 CString";
    CString str = CString(p);
    MessageBox(str);

    CString str2 = TEXT("CString 转 char *");
    CStringA tmp; //CStringA中转下比较稳定可靠。不可以写成CStringA tmp=str2;
    tmp = str2;
    char *p2 = tmp.GetBuffer();
    MessageBox(CString(p2));

    /*注意,string是C++中的,需要
    #include<string>
    using namespace std;*/
    string s = "string 转 char *";
    char *p3 = new char[s.size() + 1];
    strcpy_s(p3, s.size() + 1, s.c_str());//防止s消失后,指针变成野指针。也防止了通过指针更改数组中的值。
    MessageBox(CString(p3));

    char *p4 = "char * 转 string";
    string s1;
    s1= p4;
    MessageBox(CString( s1.c_str()));    
复制代码

 

posted @   夕西行  阅读(208)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示