我正在读取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);
Run Code Online (Sandbox Code Playgroud)
我可能在这里输出缓冲区数组的地址,而不是它的内容吗?C中是否有一个简单的方法可以执行此任务,还是需要编写自己的子例程?
Mar*_*ens 11
这将读取相同的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]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37212 次 |
| 最近记录: |