| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1141 人关注过本帖
标题:求大佬帮忙编写这个程序
只看楼主 加入收藏
li1993
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2018-6-23
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
求大佬帮忙编写这个程序
要求
读取任意文本文件,将文件内容中的asd单词(不区分大小写)全部替换为大写的ASD,并另存为新的文件。
新文件名在原文件名的基础上增加"ASD_"前缀,文件类型保持不变。
文件内容举例:
abc asd abc  替换为  abc ASD abc
abc aSd.  替换为  abc ASD.
abc asdd 不替换
文件名举例:
若原文件名 readme.txt  ,则处理后保存的文件为 ASD_readme.txt

新手编了好久不太会运用指针,求大佬帮忙。
搜索更多相关主题的帖子: 编写 文件 替换 文件名 abc 
2018-06-23 10:42
li1993
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2018-6-23
收藏
得分:0 
求助求助求助
2018-06-23 11:06
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
文件较小的话可以一次读入内存,按字符串处理。
#include <stdio.h>
#include <ctype.h>
#include <string.h>

char *upper(char *str)
{
    char *p=str;
    for (; *p; ++p)
        *p = toupper(*p);
    return str;
}

main()
{
    FILE *fp = fopen("test.txt", "w");
    fprintf(fp, "%s\n", "abc asd abc");
    fprintf(fp, "%s\n", "abc aSd");
    fprintf(fp, "%s\n", "abc asdd");
    fclose(fp);

    char s[256];
    fp = fopen("test.txt", "r+");
    while (fscanf(fp, "%s", s)==1)
    {
        if (strcmp("ASD",upper(s))==0)
        {
            fseek(fp, -3, SEEK_CUR);
            fwrite(s, 3, 1, fp);
            fseek(fp, 1, SEEK_CUR);
        }
    }
    fclose(fp);

    fp = fopen("test.txt", "r");
    while (fgets(s, 256, fp))
        printf("%s", s);
    fclose(fp);
}
2018-06-23 16:16
快速回复:求大佬帮忙编写这个程序
数据加载中...
 
   



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

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