#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. java compare 时间排序

    所有数据存进resultList中 Collections.sort(resultList, new Comparator<HashMap<String, Object>>() ...

  2. pip 出错

    pip 升级到10以上出错 ImportError: cannot import name 'main' 解决方法一: 降低pip的版本号 python -m pip install pip==9.0 ...

  3. 洛谷 P1045 麦森数 (快速幂+高精度+算位数骚操作)

    这道题太精彩了! 我一开始想直接一波暴力算,然后叫上去只有50分,50分超时 然后我改成万位制提高运算效率,还是只有50分 然后我丧心病狂开long long用10的10次方作为一位,也就是100亿进 ...

  4. 【BZOJ 1083】 [SCOI2005]繁忙的都市

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 很明显的最小生成树了. 输出最后选的那条边就好了. [代码] #include <bits/stdc++.h> usin ...

  5. quick-cocos2d-x游戏开发【2】——项目结构分析、创建新场景

    创建完一个新项目之后,我们能够简单的看一看这个项目的文件组成,有这么一个文件层次结构 几个proj.*目录就不用说了,是相应的平台的解决方式,res专门存放我们的游戏资源.scripts存放我们的lu ...

  6. C++ double转string类型以及MFC控件简单使用方法

    这两天项目须要,測试c++库里面内容.生成jar再给Android调用.我没有学过C++,如今開始记录C++简单使用方法.測试时候一般都是使用mfc程序来測试.要输入值.显示结果吗.我用的编译环境vs ...

  7. 在Linux的终端中显示BMPString的内容

    在上一篇博文中,介绍了怎样在 Windows 的控制台界面下输出 BMPString 的内容,可是那里的方法在 Linux 下不适用.假设将那里的演示样例代码放到 Linux 下运行.输出的结果为乱码 ...

  8. 【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战

    "使用ctkPluginFramework插件系统构建项目实战",这篇文章是写博客以来最纠结的一篇文章. 倒不是由于技术都多么困难,而是想去描写叙述一个项目架构採用ctkPlugi ...

  9. HDU5053the Sum of Cube(水题)

    HDU5053the Sum of Cube(水题) 题目链接 题目大意:给你L到N的范围,要求你求这个范围内的全部整数的立方和. 解题思路:注意不要用int的数相乘赋值给longlong的数,会溢出 ...

  10. Data Member Order

    https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/data-member-order In some appl ...