zoukankan      html  css  js  c++  java
  • CString和string的互相转换

    CString->std::string 例子:
    CString strMfc=“test“;
    std::string strStl;
    strStl=strMfc.GetBuffer(0);

    std::string->CString 例子:
    CString strMfc;
    std::string strStl=“test“;
    strMfc=strStl.c_str();

    ====================================

    std::string s("Hello");
    CString cs(s.c_str());

    CString cs("Hello");
    std::string s((LPCTSTR)cs);

    ======================================

    字符数组换为字符串
    using namespace std;

    char a[10]="aaaabbbba";
    string s(&a[0],&a[strlen(a)]);

    字符串转换为字符数组

    string s="aaaavvva";
    char a[10];
    strncpy(a,s.c_str(),s.length());

     -------------------------------------------------------------------------------

    extern const 的使用问题
    Test.cpp
      const CString a = "aaa";

    Main.cpp
       extern const CString a; void CTestMFCDlg::OnOK() { AfxMessageBox(a); CDialog::OnOK(); }

    上述代码在VC6.0下编译不通过。请问为什么?
    但是把const CString a = "aaa";换成 extern const CString a = "aaa";就可以成功了
    因为const 修饰之后默认的是internal link属性,你必须用extern来显示声明。
    非const变量的 默认属性 file间共享的, 所以要把它限制在一个文件内,通常加static,
    而const变量刚好相反,默认属性是文件内部可以见的,如果要文件间可见,需要加extern.

  • 相关阅读:
    day 13 python循环
    day 12 python开始--字符串
    day eleven 正则表达式以及shell基础学习
    day ten linux学习
    eight day linux网络基础
    设计模式
    JAVA中JDK和JRE的区别
    工作流基本概念__了解就行
    mybitis注解开发_curd操作
    Spring boot 整合SSM框架三层架构并前后台restful风格交互
  • 原文地址:https://www.cnblogs.com/xiao0913/p/4113054.html
Copyright © 2011-2022 走看看