!记得不要抄!
【问题描述】
编写程序将一个指定文件中某一字符串替换为另一个字符串。要求:(1)被替换字符串若有多个,均要被替换;(2)指定的被替换字符串,大小写无关。
【输入形式】
给定文件名为filein.txt。从控制台输入两行字符串(不含空格,行末尾都有回车换行符),分别表示被替换的字符串和替换字符串。
【输出形式】
将替换后的结果输出到文件fileout.txt中。
【样例输入】
从控制台输入两行字符串:
in
out
文件filein.txt的内容为:
#include <stdio.h>
void main()
{
FILE * IN;
if((IN=fopen(“in.txt”,“r”))==NULL)
{
printf(“Can’t open in.txt!”);
return;
}
fclose(IN);
}
【样例输出】
文件fileout.txt的内容应为:
#outclude <stdio.h>
void maout()
{
FILE * out;
if((out=fopen(“out.txt”,“r”))==NULL)
{
prouttf(“Can’t open out.txt!”);
return;
}
fclose(out);
}
【样例说明】
输入的被替换字符串为in,替换字符串为out,即将文件filein.txt中的所有in字符串(包括iN、In、IN字符串)全部替换为out字符串,并输出保存到文件fileout.txt中。
方法一
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
FILE *fp, *pp;
fp = fopen("filein.txt", "r");
pp = fopen("fileout.txt", "w");
char in[20], out[20], ch, str[1050];
scanf("%s%s", &in, &out);
int len_in, len_out, i = 0, len_str, j = 0;
len_in = strlen(in);
len_out = strlen(out);
ch = fgetc(fp);
while (ch != EOF)
{
str[i++] = ch;
ch = fgetc(fp);
}
len_str = i + 1;
for (i = 0; i < len_str; i++)
{
int flag = 0;