宽字节与ANSCI的转换(CString和char类型的转换)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

宽字节与ANSCI的转换(CString和char类型的转换)
宽字节和char类型的转换
一、将窄字节转换为宽字节
wstring MultCHarT oWideChar(string str)
{
//获取缓冲区的大小,并申请空间,缓冲区大小是按字符计算的
int
len=MultiByteT oWideChar(CP_ACP,0,str.c_str(),str.size(),NULL,0);
TCHAR *buffer=new TCHAR[len+1];
//多字节编码转换成宽字节编码
MultiByteToWideChar(CP_ACP,0,str.c_str(),str.size(),buffer,len);
buffer[len]='';//添加字符串结尾
//删除缓冲区并返回值
wstring return_value;
return_value.append(buffer);
delete []buffer;
return return_value;
}
string WideCharToMultiChar(wstring str)
{
string return_value;
//获取缓冲区的大小,并申请空间,缓冲区大小是按字节计算的
int
len=WideCharToMultiByte(CP_ACP,0,str.c_str(),str.size(),NULL,0,N ULL,NULL); char *buffer=new char[len+1];
WideCharT oMultiByte(CP_ACP,0,str.c_str(),str.size(),buffer,len, NULL,NULL);
buffer[len]='';
//删除缓冲区并返回值
return_value.append(buffer);
delete []buffer;
return return_value;
}
string mstring = WideCharToMultiChar( (LPCTSTR)mCString ); strcpy_s( pach, sizeof(pach), mstring.c_str() );。

相关文档
最新文档