修改一个二进制文件的C++示例代码
时间: 2024-01-26 22:04:48 浏览: 83
以下是一个修改二进制文件的C示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
long file_size;
char *buffer;
// 打开二进制文件
fp = fopen("binary_file.bin", "rb");
// 获取文件大小
fseek(fp, 0, SEEK_END);
file_size = ftell(fp);
rewind(fp);
// 分配缓存空间
buffer = (char*)malloc(file_size * sizeof(char));
// 读入文件内容到缓存中
fread(buffer, sizeof(char), file_size, fp);
// 修改第一个字节为字符 'A'
buffer[0] = 'A';
// 关闭文件
fclose(fp);
// 重新打开文件并写回修改后的内容
fp = fopen("binary_file.bin", "wb");
fwrite(buffer, sizeof(char), file_size, fp);
fclose(fp);
// 释放缓存空间
free(buffer);
return 0;
}
```
这段代码首先打开一个二进制文件,读取文件大小并分配对应大小的缓存数组。然后,它将文件内容读入缓存中并修改第一个字节为字符 'A'。最后,它重新打开文件并将修改后的缓存数组写回文件中。请确保文件的读取和写入权限正确,并且备份文件以防止意外损坏。
阅读全文