加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.c 900 Bytes
一键复制 编辑 原始数据 按行查看 历史
xiangguan.lw 提交于 2019-03-21 22:42 . new
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void hex2str(const char* hex)
{
int size =1+strlen(hex)/2;
char * str = (char*)malloc(size);
for(int i=0;i<size-1;i++)
{
str[i]=0;
if(hex[i*2]>='A'&&hex[i*2]<='F')
str[i] = hex[i*2]-'A'+10;
else if(hex[i*2]>='a'&&hex[i*2]<='f')
str[i] = hex[i*2]-'a'+10;
else if(hex[i*2]>='0'&&hex[i*2]<='9')
str[i] = hex[i*2]-'0';
else
printf("bad format\n");
str[i]<<=4;
if(hex[1+i*2]>='A'&&hex[1+i*2]<='F')
str[i] |= hex[1+i*2]-'A'+10;
else if(hex[1+i*2]>='a'&&hex[1+i*2]<='f')
str[i] |= hex[1+i*2]-'a'+10;
else if(hex[1+i*2]>='0'&&hex[1+i*2]<='9')
str[i] |= hex[1+i*2]-'0';
else
printf("bad format\n");
}
str[size-1]='\0';
printf("%s\n",str);
free(str);
}
int main(int argc,char*argv[])
{
hex2str(argv[1]);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化