原创C语言程式《文字替换器》
《文字替换器》
作者:yayapipi

功能简介:
可以把文章里的某个字替换成别的字,比如apple,换成banana,
程式会一次过把文章里所有apple的单字换成banana,最后可以新存档案。
(中文字也可以替换)
用法:
已经用code:block编译生成
把程式.exe 档放在你和你要更换的文字档同一个文件夹打开即可。
环境:
Window,Unix可用
(本来是在Unix上打的,结果打出来居然不兼容。。。这不科学,然后我就直接在Window上改了一下
)程式:
基本的思路就是把一行文字切开,切成三个部分,用strstr来比较,在关键字前面的切一个,关键字切一个,剩下的切一个,然后替换关键字后
再把全部组合起来,继续下一个替换这样,具体思路可以看看程式码。不知道其他替换文字的程式是怎么写的,可能也有其他更简单的写法,大家知道的话也告诉我吧

程式很简单,分享出来大家一起学习
源代码分享:
程序代码:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define PatMax 100 //Pattern Max Lengths
#define MaxLine 1000 //Total line Lengths
//Function Declare
int main(){
//Patten String
char pat1[PatMax];
char pat2[PatMax];
//Data Store
char line[MaxLine];
char output[MaxLine][MaxLine];
//To Save Buff Data
char best[MaxLine];
char buff[MaxLine];
//Pointer Declare
char *run;
char *save;
//Variable
int x,y,z;
//File Open
FILE *fl;
char name[100];
printf("...Superb Word RePlace System...\n");
printf("Enter file name:\n");
scanf("%s",name);
fl=fopen(name,"r");
//Pattern Setting
printf("Word Original:\n");
scanf(" %s",pat1);
printf("Word Change To:\n");
scanf(" %s",pat2);
//Main Program
printf("Your OutPut:\n");
x=y=z=0;
y=1;
while(fgets(line,MaxLine,fl)){
strcpy(buff,line);
while(run=strstr(buff,pat1)){
save = buff;
for(x=0;x<=MaxLine;x++){
best[x] = '\0';
}
for(x=0;x<run-save;x++){
best[x]=buff[x];
}
strcat(output[y],best);
strcat(output[y],pat2);
strcpy(buff,run+strlen(pat1));
}
strcat(output[y],buff);
y++;
}
for(z=1;z<y;z++){
printf("%s",output[z]);
}
printf("\nSave File As :\n");
scanf("%s",name);
fclose(fl);
fopen(name,"w");
for(z=0;z<y;z++){
fprintf(fl,"%s",output[z]);
}
fclose(fl);
printf("File Saved");
}也可以下载程式来用:







没人理我


