#if (defined WIN32) || (defined _WIN32)
#include<Windows.h>
#else
#include<unistd.h>
#include<sys/types.h>
#include<strings.h>
#endif
#include <limits.h>
#include <locale.h>
int Logger::wc2mbs(wchar_t *wc,unsigned int wc_size,char *mbs)
{
int mbs_size;
#if (defined WIN32) || (defined _WIN32)
setlocale(LC_ALL,"chs");
#else
setlocale(LC_ALL,"zh_CN.gbk");
#endif
if(wc_size==0)
wc_size=UINT_MAX;
mbs_size=wcstombs(0,wc,wc_size);
if(mbs!=0)
mbs_size=wcstombs(mbs,wc,wc_size);
return mbs_size;
}
int Logger::mbs2wc(char *mbs,unsigned int mbs_size,wchar_t *wc)
{
int wc_size;
#if (defined WIN32) || (defined _WIN32)
setlocale(LC_ALL,"chs");
#else
setlocale(LC_ALL,"zh_CN.gbk");
#endif
if(mbs_size==0)
mbs_size=UINT_MAX;
wc_size=mbstowcs(0,mbs,mbs_size);
if(wc!=0)
wc_size=mbstowcs(wc,mbs,mbs_size);
return wc_size;
}
wchar_t与char相互转换(跨平台)
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
跨平台GUI框架Fyne API架构
本文从较高的视角介绍了跨平台GUI框架Fyne的API架构,并对框架的新一代驱动程序与渲染组件作了简单介绍。
Fyne 跨平台GUI 驱动程序 架构 API -
深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换
#ifndef USE_H_ #define USE_H_ #include <iostream> #include
string char wstring wchar_t -
wchar_t 和 char
#include<windows.h>#include<st
#include ide