#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. 紫书 例题 10-2 UVa 12169 (暴力枚举)

    就是暴力枚举a, b然后和题目给的数据比较就ok了. 刘汝佳这道题的讲解有点迷,书上讲有x1和a可以算出x2, 但是很明显x2 = (a * x1 +b) 没有b怎么算x2?然后我就思考了很久,最后去 ...

  2. [terry笔记]11gR2_dataguard_保护模式切换

    保护模式切换 Maximum protection/availability/ performance 1. 首先查看当前的保护模式 SQL> select protection_mode,pr ...

  3. 基于LevelDB的高可用ActiveMQ集群

    基于LevelDB的高可用ActiveMQ集群 http://donald-draper.iteye.com/blog/2347913

  4. 洛谷 P2960 [USACO09OCT]Milkweed的入侵Invasion of the Milkweed

    P2960 [USACO09OCT]Milkweed的入侵Invasion of the Milkweed 题目描述 Farmer John has always done his best to k ...

  5. 推断扫描后的内容是否是URL

    扫描的明明是Url.竟然当文本给处理了,看来正则没有通过. 扫描二维码后,我參考了QQ的效果.分了三种:网页地址.文件下载地址,文本信息:为了实现这样的效果.我 发现有非常多url非常奇葩.所以就想找 ...

  6. Log4j-----Log4j使用指南

  7. [JZOJ3383] [NOIP2013模拟] 太鼓达人 解题报告(数位欧拉)

    来源:XLk 摘录 HDU2894 Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队 ...

  8. 4.C语言文件操作

    总论 1.fopen r以只读方式打开文件,该文件必须存在 r+以可读写方式打开文件,文件必须存在 rb+读写打开一个二进制文件,允许读写数据,文件必须存在 rw+读写打开一个文本文件,允许读和写 w ...

  9. OpenGL编程逐步深入(七)旋转变换

    准备知识 这一节我们来看一下旋转变换.旋转变换指的是给我们一个指点的点和角度,我们需要绕着过该点的轴线將对象旋转对应的角度.这里我们只改变X/Y/Z中的两个分量,第三个分量保持不变.这意味着我们的图形 ...

  10. 机器学习(七) PCA与梯度上升法 (上)

    一.什么是PCA 主成分分析 Principal Component Analysis 一个非监督学的学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化:去噪 第一 ...