我有一个包含十六进制值的文本文件,在扫描一个值后,我需要知道如何将它从十六进制字符串转换为 int。然后将其转换回十六进制字符串以供以后打印。有人知道这个算法吗?谢谢。
最佳答案
您应该使用 %x
格式说明符而不是 %s
来读取您的值。这会将数据读取为十六进制整数。
例如,如果您的文件如下所示:
ff3c 5a cb2d
然后您可以像这样读取这 3 个值:
int a, b, c;
fscanf(fp, "%x %x %x", &a, &b, &c); // a = 0xff3c, b = 0x5a, c = 0xcb2d
关于c - C中十六进制字符串到int的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339875/