#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. js各种验证

    1. var Validate = function() { //账号验证 字母,数字,下划线,不能少于6位大于20位 this.isName =function(value){ var reg = ...

  2. keepalived的功能及DR模式搭建笔记

    一.HA集群中的相关术语 1.节点(node) 运行HA进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和高可用软件服务,在高可用集群中,节点有主次之分,分别称之为主节 ...

  3. MHA搭建及故障维护

    MHA是一种方便简单可靠的MySQL高可用架构,具体的介绍我在这里就不多说了,下面是我在网上找的一个教程,我在此基础上进行了一些修改: 大致步骤 (一).环境介绍 (二).用ssh-keygen实现四 ...

  4. 【Henu ACM Round#24 D】Iterated Linear Function

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把B提取出来就是一个等比数列了. 求和一下会发现是这种形式. \(B*\frac{(A^n-1)}{A-1}+A^n*x\) 则求一 ...

  5. 【BZOJ 1191】[HNOI2006]超级英雄Hero

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 二分图的最大匹配. 因为要答下一题,这一题必须先答完. 所以如果某道题没有匹配了. 那么就直接break掉. [代码] #inclu ...

  6. ubuntu下安装宋体simsun

    sudo cp simsun.ttc /usr/share/fonts cd  /usr/share/fontssudo chmod 644 simsun.ttc 更新字体缓存: 代码: sudo m ...

  7. Qt之OpenSSL

    简述 OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 简述 下载安装 使用 更多参考 下载安装 ...

  8. HDU 5303 Delicious Apples (2015多校第二场 贪心 + 枚举)

    Delicious Apples Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...

  9. jsp布局中关于&lt;iframe&gt;标签的使用

    iframe 元素会创建包括另外一个文档的内联框架(即行内框架). 注意:在 HTML 4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支持 iframe 元素. & ...

  10. MFC中CFileDialog使用方法

    用CFileDialog选择了一个文件后,使用FILE::fopen打开文件错误,使用 的是相对地址.和王工调试了半天,怎么跟踪也没发现错误,原来如此. .... .. . . CFileDialog ...