您当前的位置: 首页 >  txwtech ar

MFC CString转string转char数组_相互转换

txwtech 发布时间:2021-04-16 14:12:01 ,浏览量:5

MFC CString转string转char数组_相互转换

TCHAR数组转到CString很简单:使用CString的Format

 TCHAR m_buf[100] = _T("Hello");
 CString str;
 str.Format(L"%s",m_buf);

CString转为TCHAR数组,使用_tcscpy()宏

CString str = L"txwtech";
TCHAR m_buf[20];
_tcscpy(m_buf, str);

///------------------------------------------------------------------------------------------------

CString就是宽字节,如果项目创建的字符集是Unicode 字符集,那么某些地方就需要转换
比如vs2013默认项目,unicode 字符集。
需要用到socket的send发送数据,如果CString str=txwtech,
str.getbuffer(0)发送,则只会发送第一个字符
//
所以需要转换


char *lpsz=wchat2char(str),


再用m_SocketClient.send(lpsz,str.GetLength());就可以了
wchar_t * char2wchar(const char* cchar) 
{     
    wchar_t *m_wchar;    
    int len = MultiByteToWideChar( CP_ACP ,0,cchar ,strlen( cchar), NULL,0);     
    m_wchar= new wchar_t[len+1];     
    MultiByteToWideChar( CP_ACP ,0,cchar,strlen( cchar),m_wchar,len);     
    m_wchar[len]= '\0' ;    
    return m_wchar; 
}


char * wchar2char(const wchar_t* wchar )


{
    char * m_char;    
    int len= WideCharToMultiByte( CP_ACP ,0,wchar ,wcslen( wchar ), NULL,0, NULL ,NULL );    
    m_char= new char[len+1];     
    WideCharToMultiByte( CP_ACP ,0,wchar ,wcslen( wchar ),m_char,len, NULL ,NULL );     
    m_char[len]= '\0';     
    return m_char; 
}

std::string转数组s_str()


Char szText[100];
string str1=”abcdefg”;
sprint_s(szText,sizeof(szText),”%s…”,str1.c_str());

std::sprintf(szText,”…%s…”,str1.c_str());                                                                                

char数组转CString字符串(宽字节)


char aa[100];
CString csStr;
csStr=_bstr_t(aa).operator TCHAR*();

CString转std::string


CString csStr;
csStr=”qwert”;
std::string str2;
str2=_bstr_t(csStr).operator const char*();

CString转char数组


CString->std::string
Std::string->char数组

string赋值给 char[]


std::string str=”abcdefg”;
char Buff[1024];
memset(Buff,0,1024);
strcpy(Buff,str,strlen(Buff));
 

关注
打赏
查看更多评论

txwtech

暂无认证

  • 5浏览

    0关注

    696博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录