gpt4 book ai didi

c - 在十六进制数组中打印字符缓冲区

转载 作者:太空狗 更新时间:2023-10-29 14:54:11 26 4
gpt4 key购买 nike

我正在将 512 个字符读入缓冲区并希望以十六进制显示它们。我尝试了以下方法,但它始终输出相同的值,尽管应该通过网络接收不同的值。

char buffer[512];
bzero(buffer, 512);
n = read(connection_fd,buffer,511);
if (n < 0) printf("ERROR reading from socket");
printf("Here is the message(%d): %x\n\n", sizeof(buffer), buffer);

有没有可能我在这里输出的是缓冲区数组的地址,而不是它的内容?在 C 中是否有一种简单的方法来完成这项任务,或者我是否需要编写自己的子例程?

最佳答案

这将读取相同的 512 字节缓冲区,但在输出时将每个字符 转换为十六进制:

char buffer[512];
bzero(buffer, 512);
n = read(connection_fd,buffer,511);
if (n < 0) printf("ERROR reading from socket");

printf("Here is the message:n\n");
for (int i = 0; i < n; i++)
{
printf("%02X", buffer[i]);
}

关于c - 在十六进制数组中打印字符缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275258/

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