整两个wchar_t和char的相互转换函数不就得了。std::wstringchar2wchar(constchar*c,size_tm_encode/*=CP_ACP*/)
{
std::wstringstr;
intlen=::MultiByteToWideChar(m_encode,0,c,strlen(c),NULL,0);
wchar_t*m_wchar=newwchar_t[len+1];
::MultiByteToWideChar(m_encode,0,c,strlen(c),m_wchar,len);
m_wchar[len]='\0';
str=m_wchar;
deletem_wchar;
returnstr;
}
std::stringwchar2char(constwchar_t*wp,size_tm_encode/*=CP_ACP*/)
{
std::stringstr;
intlen=::WideCharToMultiByte(m_encode,0,wp,wcslen(wp),NULL,0,NULL,NULL);
char*m_char=newchar[len+1];
::WideCharToMultiByte(m_encode,0,wp,wcslen(wp),m_char,len,NULL,NULL);
m_char[len]='\0';
str=m_char;
deletem_char;
returnstr;
}
那函数使用,改成如下类似:
char*str="请输入单词数";
strings=char2wchar(str);
charstr1[20];
InputBox(str1,strlen(s)+1,s.c_str);
|