ubuntu 下 FILE* fp 保存二进制文件 完整示例代码
时间: 2024-09-20 15:03:29 浏览: 37
在Ubuntu环境下,如果你想通过`FILE*`指针fp来保存二进制文件,你可以使用标准库函数如`fwrite()`。下面是一个完整的示例代码:
```c
#include <stdio.h>
#include <fcntl.h> // 需要这个头文件打开二进制模式
// 假设你要保存的数据结构是struct MyData
typedef struct {
int data;
char str[50];
} MyData;
int main() {
// 创建一个新的二进制文件
const char *filename = "binary_data.bin";
int file_desc = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); // 使用O_BINARY确保二进制模式
if (file_desc == -1) {
perror("Failed to open file");
return 1;
}
// 假设你有一个MyData类型的实例data_to_save
MyData data_to_save = {42, "Hello from binary file"};
// 使用fwrite保存数据到文件
size_t bytes_written = fwrite(&data_to_save, sizeof(MyData), 1, file_desc);
if (bytes_written != 1) {
perror("Failed to write to file");
close(file_desc);
return 1;
}
// 关闭文件描述符
close(file_desc);
printf("Binary data saved successfully.\n");
//
阅读全文