| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 594 人关注过本帖
标题:字符串比较问题,在线等待
只看楼主 加入收藏
zxg_1023
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-3-19
收藏
 问题点数:0 回复次数:3 
字符串比较问题,在线等待
功能:比较两文件file1.txt和file2.txt,将同时存在两文件中,且长度小于50个字符的数据行输出到cmpfile.out,并将存在file1.txt但不在file2.txt的数据行输出到cmpfile.chk

fpread1为file1.txt的文件指针
fpread2为file2.txt的文件指针
fpwrite1为cmpfile.out的文件指针
fpwrite2为cmpfile.chk的文件指针
string1[512]为从file1.txt读取的数据行
string2[512]为从file2.txt读取的数据行


检查部分代码:[注:遵守MISRA规则]
int tmp=0;
...
while (1)
{
   if (fgets(string1, 512, fpread1) == NULL)//检查file1是否结束
   {
      break;
   }
   else
   {
      while (1)
      {
         if (fgets(string2, 512, fpread2) == NULL)//检查file2是否结束
         {
            tmp = 1;
            break;
         }
         else
         {
            if (strcmp(string1, string2) == 0)//相等且小于50的,输出
            {
               if (strlen(string1)<50)
               {
                  fputs(string1, fpwrite1);
               }
               break;
            }
         }
      }
      fseek(fpread2, 0L, 0);//重新设置file2的文件指针
      
      if (tmp)//存在file1但不在file2的,输出
      {
         fputs(string1, fpwrite2);
         tmp = 0;
      }
   }
}

大体意思就这样,其他出错处理没加上,我老大说我的程序结果是错误的,但我找了半天也找不出来,麻烦高手指点一下,在线等结果

[[it] 本帖最后由 zxg_1023 于 2008-3-19 21:33 编辑 [/it]]
搜索更多相关主题的帖子: 字符 在线 
2008-03-19 21:12
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你让你老大教你好了..这种东西不小心就会错...

学习需要安静。。海盗要重新来过。。
2008-03-19 21:17
zxg_1023
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-3-19
收藏
得分:0 
:(
他要让我自己看,我就是找不出来
2008-03-19 21:21
zxg_1023
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-3-19
收藏
得分:0 
怎么没人回答啊
2008-03-19 22:20
快速回复:字符串比较问题,在线等待
数据加载中...
 
   



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

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