将文本中的字符串替换为指定的新的字符串,编写程序从键盘输入文件中的内容,当输入ebd时表示结束,end 后边有两个字符串,要求用第二个字符串替换第一个字符串,这个程序用C++怎么写
时间: 2024-05-02 21:23:39 浏览: 76
要将文本中的字符串替换为指定的新的字符串,可以使用 C 语言中的字符串函数和文件读写操作。下面是一个示例程序:
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 1000
int main() {
char filename[MAX_LEN], old_str[MAX_LEN], new_str[MAX_LEN];
printf("请输入文件名:");
scanf("%s", filename);
printf("请输入要替换的字符串:");
scanf("%s", old_str);
printf("请输入替换成的字符串:");
scanf("%s", new_str);
FILE* fp = fopen(filename, "r");
if (fp == NULL) {
printf("无法打开文件 %s\n", filename);
return 1;
}
char line[MAX_LEN];
while (fgets(line, MAX_LEN, fp) != NULL) {
// 使用 strstr 函数查找旧字符串
char* pos = strstr(line, old_str);
while (pos != NULL) {
// 使用 strncpy 函数复制新字符串到当前位置
strncpy(pos, new_str, strlen(new_str));
pos = strstr(pos + strlen(new_str), old_str);
}
printf("%s", line);
}
fclose(fp);
return 0;
}
```
这个程序首先从键盘输入文件名和需要替换的旧字符串和新字符串,然后打开指定文件并逐行读取文件内容。对于每一行文本,使用 strstr 函数查找旧字符串的位置,如果找到则使用 strncpy 函数复制新字符串到当前位置。最后将修改后的行文本打印到屏幕上,完成替换操作。
阅读全文