#include <stdio.h>
#include <string.h>
const int max_r = ; // Calculate the file size
void Get_file_size(char *name_1, char *name_2)
{
FILE *fp_1 = fopen(name_1, "r");
FILE *fp_2 = fopen(name_2, "r");
if (fp_1)
{
printf ("Size of %s : ", name_1);
fseek(fp_1, , SEEK_END);
if (.*ftell(fp_1)/(**) > 1.0)
printf("%.1f GB\n", .*ftell(fp_1)/(**));
else if(.*ftell(fp_1)/(*) > 1.0)
printf("%.1f MB\n", .*ftell(fp_1)/(*));
else if (.*ftell(fp_1)/() > 1.0)
printf("%.1f KB\n", .*ftell(fp_1)/());
else printf ("%d Bt\n", ftell(fp_1));
fclose(fp_1);
}
if (fp_2)
{
printf ("Size of %s : ", name_2);
fseek(fp_2, , SEEK_END);
if (.*ftell(fp_2)/(**) > 1.0)
printf("%.1f GB\n", .*ftell(fp_2)/(**));
else if(.*ftell(fp_2)/(*) > 1.0)
printf("%.1f MB\n", .*ftell(fp_2)/(*));
else if (.*ftell(fp_2)/() > 1.0)
printf("%.1f KB\n", .*ftell(fp_2)/());
else printf ("%d Bt\n", ftell(fp_2));
fclose(fp_2);
}
return;
} int main()
{
int AC, line_1, line_2;
char name_1[], name_2[];
char ch_1[max_r], ch_2[max_r]; scanf ("%s%s", name_1, name_2);//input two file which need to be compared
AC = ;
line_1 = line_2 = ;
Get_file_size(name_1, name_2); FILE *fp_1 = fopen(name_1, "r");
FILE *fp_2 = fopen(name_2, "r");
while()
{
char *end_1, *end_2;
end_1 = fgets(ch_1, max_r, fp_1);
end_2 = fgets(ch_2, max_r, fp_2);
if (end_1 != NULL)
line_1 ++;
if (end_2 != NULL)
line_2 ++;
while(strcmp(ch_1, "\n") == && end_1 != NULL)
{
end_1 = fgets(ch_1, max_r, fp_1);
if (end_1 != NULL)
line_1 ++;
}
while(strcmp(ch_2, "\n") == && end_2 != NULL)
{
end_2 = fgets(ch_2, max_r, fp_2);
if (end_2 != NULL)
line_2 ++;
}
if (end_1 == NULL && end_2 == NULL)
break;
if(strcmp(ch_1, ch_2) != )
{
AC = ;
ch_1[strlen(ch_1) -] = '\0';
ch_2[strlen(ch_2) -] = '\0';
printf (" Worry Answer\n");
printf ("In file %s at %d line << %s >> difference from\n", name_1, line_1, ch_1);
printf ("In file %s at %d line << %s >>\n", name_2, line_2, ch_2);
break;
}
}
if (AC)
{
if (line_1 != line_2)
{
printf (" Print Error\n");
printf ("The print not in a canonical format!\n");
printf ("the %s have %d lines \nbut %s have %d lines!\n", name_1, line_1, name_2, line_2);
}
else
printf (" Aceept\n", line_1, line_2);
}
fclose(fp_1);
fclose(fp_2);
return ;
}

比较两个文件是否相同(C/C++语言)的更多相关文章

  1. putty提供的两个文件传输工具PSCP、PSFTP详细介绍

    用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH ...

  2. diff 比较两个文件的差异

    功能:比较两个文件的差异,并把不同地方的信息显示出来.默认diff格式的信息. diff比较两个文件或文件集合的差异,并记录下来,生成一个diff文件,这也是我们常说的补丁文件.也使用patch命令对 ...

  3. Linux下对比两个文件夹的方法

    最近拿到一份源代码,要命的是这份源代码是浅克隆模式的git包,所以无法完整显示里面的修改的内容. 今天花了一点点时间,找了一个在Linux对比两个文件夹的方法. 其实方法很简单,用meld 去对比两个 ...

  4. PHP两个文件的相对路径

    /** * relativePath 计算两个文件的相对路径 * @param file1 参作为考路径 * @param file2 相对于$file1的路径 */ function relativ ...

  5. linux 两个文件合并

    可以使用cat命令,有两种实现的方式,一种将两个文件合并的到一个新的文件,另一种将一个文件追加到另一个文件的末尾. 方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件.这种方法可以 ...

  6. linux两个文件修改主机名

    linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  7. 比较两个文件文件可以使用MD5比较工具

    举例来说,当我们对一个设备进行升级. 固件程序是一个文件,而我们发送的数据可以组成一个文档, 实质是把这两个文件拖入到下图中的工具中,查看一下MD5值.SHA1值.CRC32的值,如果值都一样说明这两 ...

  8. php源码之计算两个文件的相对路径

    <?php //计算出两个文件的相对路径即path2相对于$path1的相对路径 // http://www.manongjc.com/article/1342.html function ge ...

  9. 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?

    给定a.b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a.b文件共同的url? 可以估计每个文件的大小为5G*64=300G,远大于4G.所以不可能将其完全加载到 ...

  10. 两个文件去重的N种姿势

    最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...

随机推荐

  1. 紫书 例题11-8 UVa 11082(网络流最大流)

    这道题的建模真的非常的秀, 非常牛逼. 先讲建模过程.源点到每一行连一条弧, 容量为这一行的和减去列数, 然后每一列到汇点连一条弧, 容量为这一列 的和减去行数, 然后每一行和列之间连一条弧, 容量为 ...

  2. [转载]深入Java单例模式

    在GoF的23种设计模式中,单例模式是比较简单的一种.然而,有时候越是简单的东西越容易出现问题.下面就单例设计模式详细的探讨一下.   所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在 ...

  3. 洛谷—— P2663 越越的组队

    https://www.luogu.org/problem/show?pid=2663 题目描述 班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争.老师找到了越越并给了越越一张全 ...

  4. 洛谷 P3924 康娜的线段树

    P3924 康娜的线段树 题目描述 小林是个程序媛,不可避免地康娜对这种人类的“魔法”产生了浓厚的兴趣,于是小林开始教她OI. 今天康娜学习了一种叫做线段树的神奇魔法,这种魔法可以维护一段区间的信息, ...

  5. [数位dp] bzoj 3209 花神的数论题

    题意:中文题. 思路:和普通数位dp一样,这里转换成二进制,然后记录有几个一. 统计的时候乘起来就好了. 代码: #include"cstdlib" #include"c ...

  6. jsp中对话框的实现

    <Input type=submit name="g" style="font-size:20px" value="提交" oncli ...

  7. spark 卡在spark context,运行出现spark Exception encountered while connecting to the server : javax.security.sasl.SaslException

    原因: 使用root用户运行spark代码 解决方法:使用非管理员账户运行spark即可 [userone@localhost bin]$ ./add-user.sh What type of use ...

  8. HDU4825:Xor Sum 解题报告(0/1 Trie树)

    Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数. 随后 Prometheus 将向 Ze ...

  9. [NOIP2015模拟10.27] [JZOJ4270] 魔道研究 解题报告(动态开点+权值线段树上二分)

    Description “我希望能使用更多的魔法.不对,是预定能使用啦.最终我要被大家称呼为大魔法使.为此我决定不惜一切努力.”——<The Grimoire of Marisa>雾雨魔理 ...

  10. Word或Excel里画柱状图和折线图组合体

    不多说,直接上干货! 最近,在帮导师,干此项目.其中需要 现在,我带你来一步一步地画出来. 第一步:插入  ->  图表 第二步: 第三步:弹出,默认的数据和图表. 第四步: 第五步: 第六步: ...