乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 5

将wchar转换为char

[复制链接]

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2008-8-4 18:50:49 | 显示全部楼层 |阅读模式
关于更好的方法来做到这一点的任何想法?
  1.                         // convert the unicode string (pWcStr in this case from the user/acad) to ascii:
  2.                         const size_t strsize = 64;
  3.                         size_t CharactersConverted = 0;
  4.                         char *chrStr = new char[strsize];
  5.                         wcstombs(chrStr, pWcStr, CharactersConverted);
  6.                         if(CharactersConverted == 0)
  7.                         {
  8.                                 acutPrintf(_T("Failed to convert the w_char string!\n"));
  9.                                 return;
  10.                         }

这似乎失败了(至少对我来说)

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2008-8-4 20:03:38 | 显示全部楼层
这似乎有效,只是在我的python函数
char *pChrStr = new char[wcslen(pWcStr)+1]中不起作用;
size_t cnt = wcstombs(pChrStr, pWcStr, wcslen(pWcStr));
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2008-8-4 22:39:31 | 显示全部楼层
试试这个:
  1. #define BUFFER_SIZE 256 //100
  2. CString sLine;
  3. bRead = fIn.ReadString(sLine);
  4. ...
  5. size_t i;
  6. char *pMBBuffer = (char *)malloc( BUFFER_SIZE );
  7. // Conversion
  8. wcstombs_s(&i, pMBBuffer, (size_t)BUFFER_SIZE, sLine, (size_t)BUFFER_SIZE);

或者可能
  1. CString cs ("MyString");
  2. // Convert a TCHAR string to a LPCSTR
  3. CT2CA pszConvertedAnsiString(cs);

回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2008-8-4 22:51:31 | 显示全部楼层
谢谢路易斯,我不敢相信有这么多方法可以做到这一点std::string
谢谢Glenn,
在这个办公室里,他们给新员工拍照...(那张之后,相机就不工作了)
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2008-8-5 04:58:51 | 显示全部楼层
此链接可能
有用 http://msdn.microsoft.com/en-us/library/87zae4a3(VS.80).aspx
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2008-8-5 09:32:59 | 显示全部楼层

使用标准函数:WideChartMultiByte
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-6 06:51 , Processed in 0.353940 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表