写一段c++,删除指定txt中的内容,并写入新内容
时间: 2023-05-11 09:07:47 浏览: 62
以下是一段C代码,可以删除指定txt文件中的内容,并写入新内容:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char filename[] = "example.txt";
char tempfilename[] = "temp.txt";
char search[] = "delete me";
char replace[] = "new content";
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
exit(1);
}
FILE *temp = fopen(tempfilename, "w");
if (temp == NULL) {
printf("Failed to create temporary file\n");
exit(1);
}
char line[100];
while (fgets(line, sizeof(line), fp)) {
if (strstr(line, search) == NULL) {
fputs(line, temp);
}
}
fclose(fp);
fclose(temp);
remove(filename);
rename(tempfilename, filename);
fp = fopen(filename, "a");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
exit(1);
}
fputs(replace, fp);
fclose(fp);
printf("Successfully deleted '%s' and replaced it with '%s'\n", search, replace);
return 0;
}
```
这段代码会打开名为 "example.txt" 的文件,查找并删除所有包含 "delete me" 的行,然后将 "new content" 写入文件末尾。注意,这段代码只会删除包含 "delete me" 的行,而不是整个文件中的所有内容。如果你需要删除整个文件中的所有内容,请在打开文件时使用 "w" 模式而不是 "r" 模式。