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.

  • 相关阅读:
    java传值问题.
    方法重载
    java中各种运算符
    java中各种运算符
    java网址
    对象的初始化顺序
    Exploit,shellcode经验技巧杂谈
    关于16位的OS尝试
    window系统下的远程堆栈溢出 《实战篇》
    Exploit,shellcode经验技巧杂谈
  • 原文地址:https://www.cnblogs.com/xiao0913/p/4113054.html
Copyright © 2011-2022 走看看