gpt4 book ai didi

c - 如何将数组转换为十六进制值

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

我正在尝试打印数组的十六进制值,但出现错误。

我试过的代码:

char Routing[29];
memset(&Routing,0x00,29);
chdir("\\WWW");
tp = fopen("routing.csv", "a");
if(tp!=NULL){
if (SlaveNodeID != 0x00){
fseek(tp, (98 * SlaveNodeID), SEEK_SET);
fprintf(tp, "\n %058x,",Routing);
}

输出得到:

00000000000000000000000000000000000000000000000000a001ff30

但我需要输出

0000000000000000000000000000000000000000000000000000000000

我不知道为什么我得到这个 a001ff30 值..

最佳答案

您需要打印出您读取的数组的每个字节

所以而不是

fprintf(tp, "\n %058x,",Routing);

fprintf( tp, "\n " );
for (i = 0; i < sizeof(Routing); ++i)
{
fprintf( tp, "02x", Routing[i] );
}

关于c - 如何将数组转换为十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037737/

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