C语言在文件里覆盖部分原有内容的代码
时间: 2024-10-16 13:14:14 浏览: 26
在C语言中,如果你想要覆盖文件的部分原有内容,你可以使用`fseek`函数定位到特定的位置,然后使用`fwrite`函数将新的数据写入。这里是一个简单的例子:
```c
#include <stdio.h>
#define FILE_NAME "example.txt" // 文件名
int main() {
FILE *file = fopen(FILE_NAME, "r+b"); // 打开文件,模式为读写
if (file == NULL) {
perror("Error opening file");
return 1;
}
long int offset = 10; // 要替换的数据开始位置,从0开始计数
char data[] = "新内容"; // 新的数据
size_t length = sizeof(data);
// 将文件指针移动到指定偏移处
fseek(file, offset, SEEK_SET);
// 写入新的数据
if (fwrite(data, length, 1, file) != 1) {
perror("Error writing to file");
fclose(file);
return 1;
}
// 关闭文件
fclose(file);
printf("Data replaced successfully.\n");
return 0;
}
```
在这个示例中,程序首先打开文件,然后定位到偏移量10的位置,接着用`fwrite`函数将字符串"新内容"替换掉原本在这个位置的数据。
阅读全文