VC中各种数据类型之间的转换

来源:互联网 发布:网络男主播招聘 编辑:程序博客网 时间:2024/05/17 02:02

一、int类型转换为字符类型

    int i = 13456;    

    char ch[6];

    memset(ch,0,6);    //将名称为ch的缓冲区以“\0”进行填充

    itoa(i,ch,10);    //将i按十进制方式转换到ch中

二、在VS2008下将char类型转换为CString类型:

    char cTemp;

    CString strA;

    ...

    strA.Format(TEXT("%c"),cTemp);

三、wstring类型转为string类型
    string curLocale = setlocale(LC_ALL, NULL); (保存系统的当前本地化信息)
    setlocale(LC_ALL, "chs");
    const wchar_t* _Source = ws.c_str();
    size_t _Dsize = 2 * ws.size() + 1;
    char *_Dest = new char[_Dsize];
    memset(_Dest,0,_Dsize);
    wcstombs_s(&_Dsize,_Dest,_Dsize,_Source,_TRUNCATE);
    string result = _Dest;
    delete []_Dest;
    setlocale(LC_ALL, curLocale.c_str());
四、string类型转为wstring类型
    setlocale(LC_ALL, "chs");
    const char* _Source = s.c_str();
    size_t _Dsize = s.size() + 1;
    wchar_t *_Dest = new wchar_t[_Dsize];
    wmemset(_Dest, 0, _Dsize);
    mbstowcs_s(&_Dsize,_Dest,_Dsize,_Source,_TRUNCATE);
    std::wstring result = _Dest;
    delete []_Dest;
    setlocale(LC_ALL, "C");
五、CString类型转为wstring类型
    CString m_strOpenZipPath;
    ......
    std::wstring result ;
    result = m_strOpenZipPath.GetBuffer();
    m_strOpenZipPath.ReleaseBuffer();