| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2492 人关注过本帖
标题:文件操作:将文件中的一些字符串进行替换
只看楼主 加入收藏
cczxsong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2017-1-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
文件操作:将文件中的一些字符串进行替换
#include<stdio.h>
#include<string.h>
int main()
{
    FILE *fp1;
    FILE *fp2;
    FILE *fp3;
    char ch;
    fp1=fopen("C:\\english.txt","r");
    fp2=fopen("C:\\englishout.txt","w");
    fp3=fopen("C:\\out.txt","w");
    ch=fgetc(fp1);   
    if(fp1==NULL)
    {
        printf("原文件打开失败!");
    }
    else
    {
        if(fp2==NULL)
        {
            printf("目标文件打开失败!");
        }
        else
        {
            while(ch!=EOF)
            {
                fputc(ch,fp2);
                ch=fgetc(fp1);   
            }
            
        }
    }
    char string1[256]={0};
    char string2[256]={0};
    char s[256]={0};
    char *p=NULL;
    printf("请输入要用来替换文件的字符串!\n");
    scanf("%s",&string1);
    printf("请输入文件中被替换的字符串!\n");
    scanf("%s",&string2);
    fgets(s,256,fp2);
   
    puts(s);
    p=s;
         while(1)
         {
             p=strstr(p,string2);
             if(p)
             {
                 memmove(p+strlen(string1),p+strlen(string2),strlen(p)-strlen(string2)+1);
                 for(int i=0;i<strlen(string1);i++)
                 {
                     p[i]=string1[i];
                 }
                 
             }
               else break;
         }
    fprintf(fp3,"%s",s);
 
    fclose(fp1);
    fclose(fp2);
    return 0;   
}
为什么他这个对文件fp2改写出了错啊?memmove这个函数根本就没有执行。

[此贴子已经被作者于2017-3-25 13:10编辑过]

搜索更多相关主题的帖子: include 字符串 
2017-03-25 13:08
cczxsong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2017-1-12
收藏
得分:0 
没有人会吗?????
2017-03-25 13:42
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:7 
    printf("请输入要用来替换文件的字符串!\n");
    scanf("%s",string1);
    printf("请输入文件中被替换的字符串!\n");
    scanf("%s",string2);

把&号去掉。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-25 13:43
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
多嘴一句,代码写的真丑。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-25 13:44
cczxsong
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2017-1-12
收藏
得分:0 
回复 4楼 renkejun1942
呃呃,还没学多长时间,代码写丑了,请求指教。
2017-03-25 23:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
 fp1=fopen("C:\\english.txt","r");
    fp2=fopen("C:\\englishout.txt","w");
    fp3=fopen("C:\\out.txt","w");
这三个都代表神马意思

第一个 只读打开
第二个 重新创建
第三个 重新创建

DO IT YOURSELF !
2017-03-26 07:37
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:7 
就是读一行处理一行吧
f1读一行str
if str有要替换
     替换处理str;
f2写一行str
2017-03-26 09:13
快速回复:文件操作:将文件中的一些字符串进行替换
数据加载中...
 
   



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

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