
王老师为您分享以下优质知识
在C语言中输出二进制文件内容主要通过以下两种方式实现:
一、使用 `fwrite()` 函数写入二进制文件
```c
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
```
- `ptr`:指向要写入数据的指针
- `size`:每个数据项的大小(以字节为单位)
- `nmemb`:要写入的数据项数量
- `stream`:指向目标文件的文件指针
示例代码
```c
include
int main() {
int data[] = {1, 2, 3, 4, 5};
FILE *fp = fopen("output.bin", "wb");
if (fp == NULL) {
printf("Error opening filen");
return 1;
}
fwrite(data, sizeof(int), 5, fp);
fclose(fp);
return 0;
}
```
该示例将整型数组以二进制形式写入名为 `output.bin` 的文件。
二、使用 `printf()` 函数格式化输出二进制数据
方法一:使用 `%b` 格式控制符
C标准库支持 `%b` 格式控制符直接输出二进制数,但需注意:
- 仅适用于整数类型(如 `%d`、`%u`)
- 需确保数据为无符号类型
示例代码
```c
include
void printBinary(unsigned int num) {
char binary;
for (int i = 0; i < 32; i++) {
binary[i] = (num & (1