gpt4 book ai didi

c - scanf 十六进制到 C 中的 uint8_t

转载 作者:太空宇宙 更新时间:2023-11-04 07:59:18 25 4
gpt4 key购买 nike

<分区>

我必须模拟一种简单的汇编语言。我有一个 256 字节的内存,我选择用 uint8_t 表来表示(因为它们是字节):RAM[256]

我的问题是我需要以十六进制输入代码,所以我有如下行:

scanf("%02X", &RAM [arg]);

scanf("%02X", &RAM[RAM[arg]]);

取决于间接级别。

不仅这会产生警告:

format ‘%X’ expects argument of type ‘unsigned int *’, but argument 2 has type ‘uint8_t * {aka unsigned char *}’

但它也会在我的 RAM 中一次“删除”4 个字节。我想 %02X 格式在这里不是正确的选择,但我找不到任何其他方式来输入十六进制。

scanf("%"SCNx8, size); 工作正常,但现在我必须从文件中读取代码,文件又是十六进制的,所有值都用空格或换行符分隔。

我尝试了 lu = fscanf(prog, "%"SCNx8, size); 但我现在收到以下警告:

format ‘%hhx’ expects argument of type ‘unsigned char *’, but argument 3 has type ‘int’ [-Wformat=]

lu = fscanf(prog, "%" SCNx8, size);

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