gpt4 book ai didi

c - 帮助: getting hex input data from user to array c code

转载 作者:行者123 更新时间:2023-11-30 14:31:25 24 4
gpt4 key购买 nike

我有一个数组(char data[16]),我想从用户那里获取十六进制数字的数据,所以数组看起来像:

 data[0]=0x887f76b1
data[1]=0x8226baac
...

当用户输入为:887f76b18226baac ...

非常非常感谢。

最佳答案

基本上,您需要读取字符串的前 8 个字符并将它们转换为十进制格式。有一些实用程序可用于执行此操作。例如:

const char * data = "887f76b18226baac";
char buff[9] = {0};
unsigned long x = 0, y = 0;

sscanf(data, "%8s", buff);
x = strtoul(buff, NULL, 16);

sscanf(data + 8, "%8s", buff);
y = strtoul(buff, NULL, 16);

意识到我省略了那里的所有错误检查。 sscanf 和 strtoul 都返回错误值(或提供检查错误的机制)。如果您要转换值,明智的做法是检查这些错误情况。

编辑:正如评论中提到的,您将无法将这些值存储在字符数组中。您将需要一个正确数据类型的数组(对于我的示例,您将使用 unsigned long array[16])

关于c - 帮助: getting hex input data from user to array c code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1259478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com