如何把WCHAR 转换成 string

jianhenjh 2010-04-27 12:28:34
如何把WCHAR 转换成 string
...全文
436 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2010-04-27
  • 打赏
  • 举报
回复
使用跨平台的iconv库
或者用不跨平台的Windows API。


否则的话还是建议不要用WCHAR和string混用,wstring不行么?
田暗星 2010-04-27
  • 打赏
  • 举报
回复
OLE2Str()查查这个
FrankSun80 2010-04-27
  • 打赏
  • 举报
回复
//WCHAR 转 MBCS
LPCOLESTR lpw = L"Hello,你好";
size_t wLen = wcslen( lpw ) + 1; // 宽字符字符长度,+1表示包含字符串结束符

int aLen=WideCharToMultiByte( // 第一次调用,计算所需 MBCS 字符串字节长度
CP_ACP,
0,
lpw, // 宽字符串指针
wLen, // 字符长度
NULL,
0, // 参数0表示计算转换后的字符空间
NULL,
NULL);

LPSTR lpa = new char [aLen];

WideCharToMultiByte(
CP_ACP,
0,
lpw,
wLen,
lpa, // 转换后的字符串指针
aLen, // 给出空间大小
NULL,
NULL);

// 此时,lpa 中保存着转换后的 MBCS 字符串
... ... ... ...
delete [] lpa;

64,645

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧