linux 如何用代码读取二进制文件并用16进制打印出来
时间: 2023-09-09 22:00:35 浏览: 110
linux 下读取文件并输出其 16 进制
5星 · 资源好评率100%
在Linux系统中,我们可以使用C语言编写代码来读取二进制文件并将其以16进制形式打印出来。下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("binary_file.bin", "rb");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
unsigned char buffer[16];
size_t bytesRead;
while ((bytesRead = fread(buffer, sizeof(unsigned char), 16, file)) > 0) {
for (size_t i = 0; i < bytesRead; i++) {
printf("%02x ", buffer[i]);
}
printf("\n");
}
fclose(file);
return 0;
}
```
上述代码中,我们首先使用`fopen`函数打开一个名为`binary_file.bin`的二进制文件。我们通过将第二个参数设置为`"rb"`来以二进制模式打开文件。如果文件打开失败,我们将打印一条错误消息并返回1。
接下来,我们使用一个缓冲区数组`buffer`来存储从文件中读取的内容。我们使用`fread`函数从文件中读取最多16个字节的数据,并将读取的字节数赋给`bytesRead`变量。
然后,我们使用一个循环来遍历缓冲区中的每个字节,并使用`printf`函数以两个十六进制字符打印内容。
最后,我们关闭文件并返回0表示成功执行。
要执行上述代码,你需要创建一个名为`binary_file.bin`的二进制文件,并将其与代码放在同一个目录下。然后,通过在终端中运行编译后的可执行文件,你将能够读取并以16进制形式打印出二进制文件的内容。
阅读全文