
教海导航为您分享以下优质知识
在C语言中写入二进制数主要有以下两种方式,具体方法如下:
一、使用 `fwrite` 函数写入二进制文件
适用于将基本数据类型(如 `int`、`float`、`char` 等)以二进制形式存储到文件中。
示例代码:
```c
include
include
int main() {
FILE *outFile;
int number = 42;
float score = 95.5f;
char name[] = "张三";
// 以二进制模式打开文件
outFile = fopen("data.bin", "wb");
if (!outFile) {
perror("无法创建文件");
return 1;
}
// 写入数据
fwrite(&number, sizeof(number), 1, outFile);
fwrite(&score, sizeof(score), 1, outFile);
fwrite(name, sizeof(name), 1, outFile);
// 关闭文件
fclose(outFile);
return 0;
}
```
说明:
`fopen` 函数以二进制写入模式 (`"wb"`) 打开文件。
`fwrite` 函数将数据指针、数据大小和写入次数作为参数,直接将二进制数据写入文件。
需注意:写入前需确保文件指针有效,且数据类型与文件格式匹配。
二、使用 `scanf` 函数输入二进制数
适用于从标准输入读取二进制数并存储到变量中。
示例代码:
```c
include
int main() {
unsigned int binaryNum;
printf("请输入一个二进制数(0b开头):");
scanf("%b", &binaryNum);
printf("您输入的二进制数为:%dn", binaryNum);
return 0;
}
```
说明:
格式说明符 `%b` 用于指定输入为二进制数(需以 `0b` 开头,如 `0b1010`)。
输入时需严格遵循二进制格式,否则可能导致读取错误。
注意事项:
1. 二进制文件操作需注意数据对齐和文件关闭,避免资源泄漏。
2. 输入二进制数时,建议使用 `0b` 前缀以提高可读性。
3. 大数据类型(如结构体)的二进制存储需手动处理位级操作或使用库函数。