我可以找到任何工作实现,所以我使用sccanf写了一个,但是我有问题,将const char转换为未签名的char" ffx16"表格,但是它转换了所有字符但是,第二个角色的第二个角色将其更改为printf输出上的" fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff0f"(ive离开了调试功能进行测试),我知道周围有C 版本,但我更喜欢纯C工作工作:(
代码:
#include <stdlib.h>
#include <stdio.h>
#include "util.h"
#include <string.h>
char* hex_to_char(const char* hex, int len) {
char *_a = malloc(len / 2);
int num = 0;
unsigned _b;
while(num < len) {
sscanf(&hex[num], "%02X", &_b);
_a[num/2] = _b;
num++;
}
return _a;
}
用法:
const char* buf2 = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF";
unsigned char start_seed[16];
int t = 0;
char* buf = hex_to_char(buf2, 32);
if(debug == 1) { printf("Start Seed : "); }
while(t < 16) {
start_seed[t] = (unsigned char)buf[t];
if(debug == 1) { printf("%02X", buf[t]); }
t++;
}
if(debug == 1) { printf("n"); }
//输出:ffffffffffffffffffffffffffffffffffffffffffffffff0f
使用num += 2
代替num++
。 &ndash;&nbsp; wintermute