zoukankan      html  css  js  c++  java
  • 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()));    
  • 相关阅读:
    函数-列表生成式
    函数-闭包
    函数-参数
    函数-装饰器
    函数-函数递归
    函数-高阶函数
    函数-命名空间
    函数-匿名函数
    模块-shutil
    在 Android 5.1.1 执行 remount system failed 解决方法
  • 原文地址:https://www.cnblogs.com/xixixing/p/11865518.html
Copyright © 2011-2022 走看看