gpt4 book ai didi

C fprintf 十六进制错误输出

转载 作者:太空宇宙 更新时间:2023-11-03 23:20:12 27 4
gpt4 key购买 nike

我有一个由十六进制值组成的 char 数组,看起来类似于:

 char str[] =
"\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
"\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
"\x80\xe8\xdc\xff\xff\xff";

处理完这个字符串后,我想使用下面的语句将这个字符串fprintf到一个文件中:

fprintf(fp, "%X\n", str);

但我得到的输出与此类似:

65C58A20

它似乎被压缩为一个十六进制数。我如何以与上面声明的相同的形式fprintf str,为每个单独的字节使用单独的十六进制值?

最佳答案

你需要的是:

for (size_t i = 0; i != sizeof str - 1; ++i)
fprintf(fp, "\\x%02x", (unsigned char)str[i]);

关于C fprintf 十六进制错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818125/

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