mfc CString,string,char* 之间的转换

知识点:
CString转char*,string
string转char*,CString
char* 转CString,string

一、CString转char*,string
    //字串转换测试
    CString CString1;
    std::string string1;
    CHAR*  char1=NULL;

    //1
    string1=CString1.GetBuffer();
    CString1.ReleaseBuffer();
    //2
    char1=CString1.GetBuffer();
    CString1.ReleaseBuffer();
二、string转char*,CString
    //1
    CString1=string1.data();
    //2
    char1=new CHAR[string1.length()+1];
    strcpy(char1,string1.data());

三、CHAR* 转CStringwstring
        CString1=char1;
             string1=char1;

    //// TODO: 在此添加控件通知处理程序代码
    //CString CString1="CString";
    //std::string string1="string";
    //CHAR * char1="char1";

    ////一、CString 字串转string ,char*
    //string1=CString1;
    //char1=CString1.GetBuffer();
    //CString1.ReleaseBuffer();//释放掉字串缓冲区

    ////二、string 转CString char*
    //string1="string1";
    //CString1=string1.data();
    ////char1=string1.data();
    //new char[string1.length()+1];
    //strcpy(char1,string1.data());
    ////三、char* 转CString ,string
    //char1="char1";
    //CString1=char1;
    //string1=char1;

    //// TODO: 在此添加控件通知处理程序代码
    //CString CString1=L"CString";
    //std::wstring string1=L"string";
    //WCHAR * char1=L"char1";

    ////一、CString 字串转string ,char*
    //string1=CString1;
    //char1=CString1.GetBuffer();
    //CString1.ReleaseBuffer();//释放掉字串缓冲区

    ////二、string 转CString char*
    //string1=L"string1";
    //CString1=string1.data();
    ////char1=string1.data();
    //new WCHAR[string1.length()+1];
    //wcscpy(char1,string1.data());
    ////三、char* 转CString ,string
    //char1=L"char1";
    //CString1=char1;
    //string1=char1;

    // TODO: 在此添加控件通知处理程序代码
    CString CString1=  _T("CString");
    std::string string1=_T("string");
    TCHAR * char1=_T("char1");

    //一、CString 字串转string ,char*
    string1=CString1;
    char1=CString1.GetBuffer();
    CString1.ReleaseBuffer();//释放掉字串缓冲区

    //二、string 转CString char*
    string1=_T("string1");
    CString1=string1.data();
    //char1=string1.data();
    new TCHAR[string1.length()+1];
    strcpy(char1,string1.data());
    //三、char* 转CString ,string
    char1=_T("char1");
    CString1=char1;
    string1=char1;
时间: 2024-12-23 06:08:28

mfc CString,string,char* 之间的转换的相关文章

CString string char* 之间的转换

下面是MFC/C++/C中字符类型CString, int, string, char*之间的转换的说明与举例,经常用的东西,相信对于用C/C++的朋友,还是比较有用的 string,CString,char*之间的转化 int 转 CString: CString.Format("%d",int); ............................... string 转 CString  CString.format("%s", string.c_str

VC CString,int,string,char*之间的转换

1 CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = string.c_str(); CString 转 string string s(CStr

CString, string, char *之间的相互转换(转)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Date: 2018.09.02 1. string→CString CString.format("%s", string.c_str()); 2. CString→string string str(CString.GetBuffer(str.GetLength(

类型转换 - CString,int,string,char*之间的转换

<C++标准函数库>中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() ................................................................. int 转 CString: CString.Format("%d",int); ..............................

CString, QString, char*之间的转换(包括VC编译开关)

传给未分配内存的const char* (LPCTSTR)指针. CString cstr(asdd); const char* ch = (LPCTSTR)cstr; ch指向的地址和cstr相同.但由于使用const保证ch不会修改,所以安全.2.传给未分配内存的指针. CString cstr = "ASDDSD"; char *ch = cstr.GetBuffer(cstr1.GetLength() + 1); cstr.ReleaseBuffer(); //修改ch指向的值

string 与char* char[]之间的转换

string 与char* char[]之间的转换,有需要的朋友可以参考下. 1.首先必须了解,string可以被看成是以字符为元素的一种容器.字符构成序列(字符串).有时候在字符序列中进行遍历,标准的string类提供了STL容器接口.具有一些成员函数比如begin().end(),迭代器可以根据他们进行定位. 注意,与char*不同的是,string不一定以NULL('\0')结束.string长度可以根据length()得到,string可以根据下标访问.所以,不能将string直接赋值给

C++ int与string或者char*之间的转换总结

#include "stdafx.h" #include <iostream> #include <string> #include <sstream> using namespace std; int main(void) { //method1 char buf[4]; itoa(123,buf,10); //自动添'\0' cout<<buf<<endl; char buf1[]="567"; int

string 与char* char[]之间的转换(转)

1.首先必须了解,string可以被看成是以字符为元素的一种容器.字符构成序列(字符串).有时候在字符序列中进行遍历,标准的string类提供了STL容器接口.具有一些成员函数比如begin().end(),迭代器可以根据他们进行定位. 注意,与char*不同的是,string不一定以NULL('\0')结束.string长度可以根据length()得到,string可以根据下标访问.所以,不能将string直接赋值给char*. 2.string 转换成 char * 如果要将string直接

【转】CString,string,char*综合比较

(一)  概述 1.string和CString均是字符串模a板类: 2.string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中: 3.CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char,wchar_t(unicode),TCHAR(ANSI与unicode均可)