我需要输入十六进制值,但是当我尝试执行此代码时,程序崩溃了。我不知道问题是什么。
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
static void print_hex(uint8_t*,int);
int main () {
uint8_t *iv;
iv = new uint8_t [32];
printf("Insert hex string:");
scanf("%x",&iv);
print_hex(iv,16);
return 0;
}
static void print_hex(uint8_t * str, int len) {
for(unsigned int i=0;i<len;i++) {
printf("%.2x", str[i]);
}
printf("\n");
}