如何把每个中文字符unicode的值写入文件

god_sun 2007-05-22 01:35:53
比如"中"写入文件是0x4E2D
...全文
230 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2007-05-22
  • 打赏
  • 举报
回复
int *改成short *
god_sun 2007-05-22
  • 打赏
  • 举报
回复
yangwuhan(*冰点*接分需要理由吗?*) ( ) 信誉:100 Blog 加为好友 2007-05-22 15:00:37 得分: 0


char zw[10] = L"中";
fprintf (fp, "%x%x", zw[0], zw[1]);
---------------------------------------------------------------------
char zw[10] = L"中";-好像不能这么写把



god_sun 2007-05-22
  • 打赏
  • 举报
回复
wchar_t * xx = L"中国";
printf("%#x", *(int *)xx);
输入出来是0x56fd4e2d,要改成0x4e2d,0x56fd怎么办呢?

另外能解释下*(int *)xx;? 谢谢
yangwuhan 2007-05-22
  • 打赏
  • 举报
回复
char zw[10] = L"中";
fprintf (fp, "%x%x", zw[0], zw[1]);
taodm 2007-05-22
  • 打赏
  • 举报
回复
wchar_t * xx = L"中";
cout << hex << *(int *)xx;
yangwuhan 2007-05-22
  • 打赏
  • 举报
回复
fprintf (fp, "%x", "中");
文件里怎么是4186c0

这个写的是"中"的字符串指针
taodm 2007-05-22
  • 打赏
  • 举报
回复
char* aa = "中w";恐怕得不到“4E2D”的。
你用调试器看看内存吧,我这边是“D0D6”。
god_sun 2007-05-22
  • 打赏
  • 举报
回复
比如 char* aa = "中w";
要求写入文件是0x4E2D,0x77
god_sun 2007-05-22
  • 打赏
  • 举报
回复
fprintf (fp, "%x", "中");
文件里怎么是4186c0
taodm 2007-05-22
  • 打赏
  • 举报
回复
贴代码
god_sun 2007-05-22
  • 打赏
  • 举报
回复
ls,写了,是乱码
taodm 2007-05-22
  • 打赏
  • 举报
回复
以%x格式用fprintf写就是了。
god_sun 2007-05-22
  • 打赏
  • 举报
回复
没有人回答么?

64,282

社区成员

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

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