文件内容的简单比较(C++)

来源:互联网 发布:jquery easing.js下载 编辑:程序博客网 时间:2024/06/05 20:06

ACM刷题的时候,一道题老是过不了,输出的时候又找不到错误。手头刚好有同学AC 过的代码,突然就想到了可以同时遍历所有测试范围,输出到文件,通过比较这两个输出文件的内容,找到不同点,可以反过来找到那个测试用例不能通过,进而找到问题代码。于是,动手敲代码。

然而,遍历的规模有点大。电脑卡着,先去看会视频,嗑瓜子,回来还在跑。只能中止程序,放弃遍历的想法。电脑卡的要死,删文件的时候才发现,已经有30+G 的文件。想想也有点**, 几个数字的差别,指数级的差别。只能改为选择部分数据,测试两段代码。

不过,虽然不能遍历,但选取部分测试用例的时候,写的这段代码还是用得上了。就是可以简单的比较输出结果的差异,把结果打印出来。

#include<fstream>#include<iostream>#include<string.h>using namespace std;int main(){    ifstream in1("out1.txt");    ifstream in2("out2.txt");    char cont1[2048], cont2[2048];// can be larger     for(int i=1; in1.getline(cont1, sizeof(cont1)) && in2.getline(cont2, sizeof(cont2)); i++){        if(strcmp(cont1, cont2)){            cout << "erro in :" << i << " :\n" << cont1 << "\n" << cont2 << endl;        }    }    in1.close();    in2.close();    return 0;}
// 第一次写技术类的博客,请多多指教

1 0