有没有什么方法能把一个十六进制的字符串转换成汉字

放猪之人 2013-03-07 01:07:48
我要从一个文本文档中读取一段字符串 如0xb0a1 怎样能把它转换成汉字显示 现在就知道怎么能把十六进制的数字转换成汉字 字符串怎么整啊
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
放猪之人 2013-03-07
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
C/C++ code?123456789101112131415161718192021222324252627282930313233//文本文件in.txt内容为://0xb0a1,0xb0a2,//0xb0a3,0xb0a4#include <stdio.h>#include <locale.h>#define MAXL 101unsigned char a[MAX……
相当感谢你了
赵4老师 2013-03-07
  • 打赏
  • 举报
回复
//文本文件in.txt内容为:
//0xb0a1,0xb0a2,
//0xb0a3,0xb0a4
#include <stdio.h>
#include <locale.h>
#define MAXL 101
unsigned char a[MAXL];
int q,w,r,i;
FILE *f;
int main() {
    setlocale(LC_ALL,"chs");
    f=fopen("in.txt","r");
    i=0;
    while (1) {
        r=fscanf(f,"0x%2x%2x",&q,&w);
        if (2==r) {
            a[i]=(unsigned char)q;
            a[i+1]=(unsigned char)w;
            i+=2;
            if (i>=MAXL-1) break;
        } else if (0==r) {
            fgetc(f);
        } else {// EOF==r || 1==r
            break;
        }
    }
	fclose(f);
    a[i]=0;
    printf("[%s]\n",a);
    return 0;
}
//[啊阿埃挨]
//
赵4老师 2013-03-07
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <locale.h>
char s[]="0xb0a1";
unsigned char a[3];
int q,w;
int main() {
    setlocale(LC_ALL,"chs");
    sscanf(s,"0x%2x%2x",&q,&w);
	a[0]=(unsigned char)q;
	a[1]=(unsigned char)w;
    a[2]=0;
    printf("[%s]\n",a);
    return 0;
}
//[啊]
//

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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