我有一个十六进制值的文本文件,在我获取一个值之后,我需要知道如何将它从十六进制字符串转换为int,然后将它转换回十六进制字符串,以便以后打印。有人知道这个算法吗?谢谢您。

最佳答案

您应该使用%x格式说明符而不是%s来读取值。这将以十六进制整数的形式读取数据。
例如,如果文件如下所示:
ff3c 5a立方码2d
然后您可以读取这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/

10-13 09:49