C语言一个16位数转化成一个unsigned char型的数组

比如说一个0xABCD的数,转化成一个unsignedchar的数组,在线等,急!!谢谢各位!!求一个转化函数!!谢谢!!... 比如说一个 0xABCD的数,转化成一个unsigned char的数组,在线等,急!! 谢谢各位!!
求一个转化函数 !!谢谢!!
展开
 我来答
百度网友fc027fc
推荐于2017-10-05 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:779万
展开全部

读入16位数字符串,先转化为10进制整数,再转化为字符串。代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
    char a[128];
    char b[1024];
     int n;
     int t;
     int i;
     while(gets(a)){
         n = strlen(a);
         t = 0;
         int e = 0;
         for(i=2;i<n;i++){
             if(a[i]>='a'&&a[i]<='f'){
                 t=t*16+a[i]-'a'+10;
             }
             else if(a[i]>='A'&&a[i]<='F'){
                 t=t*16+a[i]-'A'+10;
             }
             else if(a[i]>='0'&&a[i]<='9'){
                 t=t*16+a[i]-'0';
             }
             else{
                 printf("error\n");
                 e=1;
                 break;
             }
         }
         if(e!=1){
             itoa(t,b,10);
             printf("%s\n",b);
         }
     }
    
    return 0;
}

追问
哥们  你写得很好   但是itoa(t,b,10);这个函数我用不了,我用的STVD
追答

好,那我给你写个吧。

直接粘代码,字数超限制!!!

见附件。。。。



推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式