Unicode与GB之间的相互转换,请教wcstombs mbstowcs的用法,代码如内。谢谢。

flyingdiablo 2003-01-07 11:06:01
Unicode与GB之间的相互转换可以通过两张码表对应查询
但是最近我看到一些文章提到可以使用系统函数wcstombs mbstowcs
进行转换,写了一段代码试了试,可怎么也不行,
哪里有问题?有做过的朋友指点一下,谢谢,
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[])
{
char dest[10] = "";
char test[10] = {0x4a,0x55};
setlocale(LC_CTYPE,"zh_CN.GB2312");
setlocale(LC_MESSAGES,"zh_CN.GB2312");
printf("test:%s\n",test);
printf("trans:%d\n",wcstombs(dest,(wchar_t *)test,10));
perror("");
printf("dest:%s\n",dest);
return 0;
}
...全文
685 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
core 2003-01-08
  • 打赏
  • 举报
回复
我这里没有环境了,把原先写的大致给你回忆一下
关键代码部分:
wchar_t wc[1024];
char mb[1024];

setlocale(LC_ALL, "zh_CN.gb18030"); // 这是最新标准
mbstowcs(wc, "hello", sizeof(wc) / sizeof(wchar_t)); // 原型不记得了,这样写应该没错
wcstombs(mb, L"hello", sizeof(mb));
flyingdiablo 2003-01-08
  • 打赏
  • 举报
回复
怎么人气这么差?
flyingdiablo 2003-01-07
  • 打赏
  • 举报
回复
多谢
flyingdiablo 2003-01-07
  • 打赏
  • 举报
回复
已装中文字符集
有哪个朋友通过这种方法成功转换过吗?
zero1977 2003-01-07
  • 打赏
  • 举报
回复
“Unicode与GB之间的相互转换可以通过两张码表对应查询?”

怎么做????有源码吗?
zero1977 2003-01-07
  • 打赏
  • 举报
回复
噢~, 原来系统中必须装中文字符集,否则转换失败噢
zero1977 2003-01-07
  • 打赏
  • 举报
回复
我也遇到过这样问题,不知道怎么解决????
flyingdiablo 2003-01-07
  • 打赏
  • 举报
回复
faint 这么久了还没人回答?

23,216

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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