C语言清空文件内容并写入新内容
时间: 2024-10-16 09:21:26 浏览: 42
在C语言中,如果需要清空文件内容并写入新内容,通常会涉及到两个步骤:首先关闭原文件,然后创建一个新的文件流,将新内容写入。
下面是一个基本的例子,假设我们有一个名为`example.txt`的文件,我们想要清空它的内容并写入新的字符串:
```c
#include <stdio.h>
int main() {
const char* filename = "example.txt";
char new_content[] = "这是新的内容";
// 打开文件
FILE* file = fopen(filename, "w+"); // 使用"w+"模式,先清空再写入
// 检查文件是否成功打开
if (file == NULL) {
perror("打开文件失败");
return 1;
}
// 清空文件
fseek(file, 0, SEEK_SET); // 将文件指针移动到开头
rewind(file); // 或者直接使用rewind()
// 写入新内容
if (fwrite(new_content, sizeof(char), strlen(new_content), file) != strlen(new_content)) {
perror("写入文件失败");
fclose(file);
return 1;
}
// 关闭文件
fclose(file);
printf("内容已成功写入文件 %s.\n", filename);
return 0;
}
```
在这个例子中,`fseek()`和`rewind()`用于将文件指针定位到开始位置,`fwrite()`则用于写入新内容。
**
阅读全文