| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1840 人关注过本帖, 1 人收藏
标题:原创C语言程式《文字替换器》
取消只看楼主 加入收藏
yayapipi
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-12-22
结帖率:100%
收藏(1)
 问题点数:0 回复次数:2 
原创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");
}

也可以下载程式来用:
replacer.zip (10.4 KB)

搜索更多相关主题的帖子: apple 文件夹 C语言 文章 
2016-01-12 00:08
yayapipi
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-12-22
收藏
得分:0 
没人理我
2016-01-12 18:48
yayapipi
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-12-22
收藏
得分:0 
哈哈哈,谢谢捧场
2016-01-12 19:39
快速回复:原创C语言程式《文字替换器》
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018947 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved