1、wchar_t型別資料的初始化
char型別資料的初始化就不再驁述了;只說一下wchar_t型別的初始化:
wchar_t[] = L"我是wchar_t型別的資料"; //wchar_t型別資料初始化時前面需加上宏L
2、char與wchar_t之間的轉換
char與wchar_t型別資料之間的轉換不能透過賦值的方式進行,只能透過 WideCharToMultiByte 和 MultiByteToWideChar 兩個系統函式進行,這兩個系統函式都在<windows.h>中
1)、wchar_t轉char
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,wp ,wcslen( wchar ),m_char,len, NULL ,NULL );
m_char[len]= "\0";
return m_char;
}
2)、char轉wchar_t
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;
---------------------
原文:https://blog.csdn.net/bailang_zhizun/article/details/80348282
1、wchar_t型別資料的初始化
char型別資料的初始化就不再驁述了;只說一下wchar_t型別的初始化:
wchar_t[] = L"我是wchar_t型別的資料"; //wchar_t型別資料初始化時前面需加上宏L
2、char與wchar_t之間的轉換
char與wchar_t型別資料之間的轉換不能透過賦值的方式進行,只能透過 WideCharToMultiByte 和 MultiByteToWideChar 兩個系統函式進行,這兩個系統函式都在<windows.h>中
1)、wchar_t轉char
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,wp ,wcslen( wchar ),m_char,len, NULL ,NULL );
m_char[len]= "\0";
return m_char;
}
2)、char轉wchar_t
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;
}
---------------------
原文:https://blog.csdn.net/bailang_zhizun/article/details/80348282