| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2869 人关注过本帖
标题:比较两个文件,输出凡是含有相同的字符串。错开行比较。
只看楼主 加入收藏
a13780393
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2012-10-6
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:23 
比较两个文件,输出凡是含有相同的字符串。错开行比较。
后300.zip (7.44 KB)
[attach]67762[/attach][attach]67747[/attach]有可能文件1的第一行,和文件2的第8行相同,这就输出结果。不要文件1的第一行,只能和文件2的第一行比较,这样不行。附件中有两个文件,1,2.也就是输出相同部分。其实是我要比较8个文件,然后取出相同的字符。就是这8个文件一起比较。

[ 本帖最后由 a13780393 于 2013-1-2 14:12 编辑 ]
搜索更多相关主题的帖子: 附件 字符串 
2013-01-02 10:45
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
附件不存在,看啥啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-02 11:00
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:20 
哇,不会是被我下走了吧...

I have not failed completely
2013-01-02 11:07
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
编辑含有附件的帖子时,附件需要重新上传
此乃本论坛的bug而已

DO IT YOURSELF !
2013-01-02 11:09
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>

#define MAX 100

int main(void)
{
    char buffer_1[MAX];                              /* 读取文件1          */
    char buffer_2[MAX];                             /* 读取文件2          */
    int count1 = 0;                                /* 记录buffer字符个数 */
    int count2 = 0;
    int row1 = 0;                                 /* 行数             */
    int row2 = 0;

    FILE *pfile1 = NULL;                         /* 调用文件的指针   */
    FILE *pfile2 = NULL;

    char *filename1 = "E:\\才、\\Test\\1.txt";  /* 文件路径        */
    char *filename2 = "E:\\才、\\Test\\2.txt";

    if(!(pfile1 = fopen(filename1, "r")))
    {
        printf("读取文件%s失败\n",filename1);
        return 1;
    }

    if(!(pfile2 = fopen(filename2, "r")))
    {
        printf("读取文件%s失败\n",filename2);
        return 1;
    }

    for(;;)
    {
      row1++;                                            /* 递增行数 */
      while((buffer_1[count1++] = fgetc(pfile1)) != '\n');
      buffer_1[--count1] = '\0';

      if(feof(pfile1))
          break;

      for(;;)
      {
      row2++;
      count2 = 0;
      while((buffer_2[count2++] = fgetc(pfile2)) != '\n' && buffer_2[count2-1] != EOF );
     
      if(feof(pfile2))
          break;
     
      buffer_2[--count2] = '\0';
      if(strcmp(buffer_1, buffer_2) == 0)
          printf("相同字符串:\n%s\n%s\n文件1行号: %-8d文件2行号:%2d\n\n",
          buffer_1, buffer_2, row1, row2);

      }
      rewind(pfile2);
      count1 = 0;
      row2 = 0;
    }

    fclose(pfile1);
    fclose(pfile2);

    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册


开始试验时我改动了文件1中的第一个和文件2中的第三个字符串,所以结果和你的可能有点不同,不过程序我试验了几次,应该没什么太大的漏洞

I have not failed completely
2013-01-02 11:51
a13780393
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2012-10-6
收藏
得分:0 
回复 2楼 yaobao
已上传
2013-01-02 14:05
a13780393
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2012-10-6
收藏
得分:0 
回复 5楼 神龙赖了
附件已上传
2013-01-02 14:06
a13780393
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2012-10-6
收藏
得分:0 
回复 4楼 wp231957
附件已上传。
2013-01-02 14:08
a13780393
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2012-10-6
收藏
得分:0 
回复 2楼 yaobao
附件已上传。
2013-01-02 14:14
a13780393
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2012-10-6
收藏
得分:0 
回复 5楼 神龙赖了
把结果输出到一个txt吧,哥。
2013-01-02 14:18
快速回复:比较两个文件,输出凡是含有相同的字符串。错开行比较。
数据加载中...
 
   



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

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