c语言 输入16进制形式的字符串转换成16进制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 输入16进制形式的字符串转换成16进制相关的知识,希望对你有一定的参考价值。

如题,例如我输入 "FF FD 02 05 FA",转换成十六进制数组 0xFF 0xFD 0x02 0x05 0xFA,我应该怎么写?

参考技术A #include <<a href="https://www.baidu.com/s?wd=stdio.h&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9njNWnvP9nHbsPhnYuWn40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH63nHR3njn4rjRYPWb4PWb3r0" target="_blank" class="baidu-highlight">stdio.h</a>>
int IsHexChar(char ch)

if((ch>='0' && ch<='9') || (ch>='a' && ch<='f') ||(ch>='A' && ch<='F'))
return 1;
else
return 0;

int main()

char str[1000] = "123342abcdAFB1H";
int cnt = 0;
int i;
printf("input str:\\n");
//gets(str);
i = 0;
while(str[i]&&str[i+1])

if(IsHexChar(str[i]) && IsHexChar(str[i+1]))

cnt++;
printf(cnt==1?"0x%c%c":", 0x%c%c", str[i], str[i+1]);
i++;
i++;

else
break;

printf("\\ncnt = %d\\n", cnt);
return 0;

本回答被提问者和网友采纳

以上是关于c语言 输入16进制形式的字符串转换成16进制的主要内容,如果未能解决你的问题,请参考以下文章

c语言编写一程序,以字符串形式输入十进制数,将字符串对应的十进制数转换成二进制数,将得到的结果输出。

c语言十六进制字符转化成十进制数字问题

C语言编程(将十六进制字符串转换为十进制整数 )

c语言输入数字转换成2进制字符串原理

C语言怎么将超大的16进制数转换成10进制,这个16进制数是个大数,比如0x123456789ABCDEF12345这种

c语言中如何将16进制字符串转化成10进制整数?