C语言一个16位数转化成一个unsigned char型的数组
比如说一个0xABCD的数,转化成一个unsignedchar的数组,在线等,急!!谢谢各位!!求一个转化函数!!谢谢!!...
比如说一个 0xABCD的数,转化成一个unsigned char的数组,在线等,急!! 谢谢各位!!
求一个转化函数 !!谢谢!! 展开
求一个转化函数 !!谢谢!! 展开
1个回答
展开全部
读入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
追答
好,那我给你写个吧。
直接粘代码,字数超限制!!!
见附件。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询