首页  > 教育解读  > c文件怎么输出二进制文件内容

c文件怎么输出二进制文件内容

2025-05-09 03:25:23
流年如水
流年如水已认证

流年如水为您分享以下优质知识

在C语言中输出二进制文件内容可以通过以下两种主要方法实现:

一、使用 `fwrite()` 函数写入二进制数据

`fwrite()` 是C语言中用于将二进制数据写入文件的常用函数,其原型为:

```c

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);

```

`ptr`:指向要写入数据的指针

`size`:每个数据项的大小(以字节为单位)

`nmemb`:要写入的数据项数量

`stream`:指向目标文件的文件指针(如 `FILE *fp`)

示例代码:

```c

include

int main() {

int data[] = {1, 2, 3, 4, 5};

FILE *fp = fopen("output.bin", "wb"); // 以二进制写入模式打开文件

if (fp == NULL) {

perror("Error opening file");

return 1;

}

fwrite(data, sizeof(int), 5, fp); // 写入5个整型数据

fclose(fp);

return 0;

}

```

运行后,文件 `output.bin` 将包含整型数组的二进制表示。

二、使用 `printf()` 函数输出二进制数据(仅限控制台)

C语言标准库未提供直接输出二进制数据的格式化指令(如 `%b`),但可通过以下两种方式实现:

1. 使用 `%b` 格式化(需要自定义转换函数)

```c

include

include

void print_binary(unsigned int num) {

char binary = {0}; // 32位二进制数 + 结尾的'0'

for (int i = 0; i < 32; i++) {

binary[i] = (num & (1