c - C中十六进制字符串到int的转换

标签 c string int hex

我有一个包含十六进制值的文本文件,在扫描一个值后,我需要知道如何将它从十六进制字符串转换为 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/

相关文章:

php - 查找字符串中任意数字第一次出现的位置

c# - int[] 和 string[] 类在哪里定义?

linux - 无法在 LINUX 的 C++ 中将 STRING 转换为 INT

c++ - 二维阵列中的沟槽

c - 这种情况下如何分配内存呢?

c - 如何将整数数组从 matlab 传递到 mex?

python - 将单个字典值从字符串转换为整数?

c++ - GTK+ 通过控件 id 查找 GTKWidget

java - 编码字符串在java中不能正常工作

python - Python递归函数返回结果消失