gpt4 book ai didi

c - 如何在C中打印二进制数据?

转载 作者:行者123 更新时间:2023-12-03 09:14:00 25 4
gpt4 key购买 nike

我对 C 比较陌生。我有一个二进制缓冲区,我想将其打印到标准输出,如下所示:

unsigned char buffer[1024];

有没有办法使用 printf 将其输出到标准输出?我查看了 printf 的手册页,但是没有提到 unsigned char* ,仅限const char*对于 %s .

我想我可以循环缓冲区并执行 putchar(buffer[i]) ,但我认为这效率相当低。有没有办法使用 printf 来做到这一点?我应该使用类似 fwrite 的东西吗?相反,这样会更合适吗?

谢谢。

编辑:抱歉造成困惑,我不想将任何内容转换为十六进制/二进制表示法,只需按原样写出缓冲区即可。例如,如果我有 [0x41 0x42 0x42 0x41]在缓冲区中,然后我想打印“ABBA”。

最佳答案

正如@redneb所说,fwrite应该用于此:

#include <stdio.h>

size_t size = sizeof(buffer); /* or however much you're planning to write */
fwrite(buffer, 1, size, stdout);

关于c - 如何在C中打印二进制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322417/

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