比较两个文件是否相同(C/C++语言)
#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++语言)的更多相关文章
- putty提供的两个文件传输工具PSCP、PSFTP详细介绍
用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH ...
- diff 比较两个文件的差异
功能:比较两个文件的差异,并把不同地方的信息显示出来.默认diff格式的信息. diff比较两个文件或文件集合的差异,并记录下来,生成一个diff文件,这也是我们常说的补丁文件.也使用patch命令对 ...
- Linux下对比两个文件夹的方法
最近拿到一份源代码,要命的是这份源代码是浅克隆模式的git包,所以无法完整显示里面的修改的内容. 今天花了一点点时间,找了一个在Linux对比两个文件夹的方法. 其实方法很简单,用meld 去对比两个 ...
- PHP两个文件的相对路径
/** * relativePath 计算两个文件的相对路径 * @param file1 参作为考路径 * @param file2 相对于$file1的路径 */ function relativ ...
- linux 两个文件合并
可以使用cat命令,有两种实现的方式,一种将两个文件合并的到一个新的文件,另一种将一个文件追加到另一个文件的末尾. 方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件.这种方法可以 ...
- linux两个文件修改主机名
linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname //查看机器名#hostname -i //查看本机器名对应的ip ...
- 比较两个文件文件可以使用MD5比较工具
举例来说,当我们对一个设备进行升级. 固件程序是一个文件,而我们发送的数据可以组成一个文档, 实质是把这两个文件拖入到下图中的工具中,查看一下MD5值.SHA1值.CRC32的值,如果值都一样说明这两 ...
- php源码之计算两个文件的相对路径
<?php //计算出两个文件的相对路径即path2相对于$path1的相对路径 // http://www.manongjc.com/article/1342.html function ge ...
- 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?
给定a.b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a.b文件共同的url? 可以估计每个文件的大小为5G*64=300G,远大于4G.所以不可能将其完全加载到 ...
- 两个文件去重的N种姿势
最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...
随机推荐
- 3D ShapeNets: A Deep Representation for Volumetric Shapes 代码遇到的问题
遇到 Error using polygon2voxel_double Requested 515396075640x140711718551672x140719189273184 (17179869 ...
- UI布局【转】
转载自: https://www.cnblogs.com/wangdaijun/p/5519459.html https://www.jianshu.com/p/f781c40df57c Good U ...
- web集群中经常使用的session同步解决方式及对照
随着站点的功能越来越多,用户量越来越庞大,单节点模式已经严重不能支撑整个系统的正常运作,轻则用户页面訪问时间越来越慢.重则就会导致整个系统瘫痪.这时候 就须要优化或调整眼下的架构,大部分人就会採用各种 ...
- GridView中使用CheckBox
asp.net中checkbox是向server提交时才干触发事件 把该控件的autopostback设置为true.才干响应事件 protected void Checkbox_CheckedCh ...
- Case study: word play
For the exercises in this chapter we need a list of English words. There are lots of word lists avai ...
- 区间dp学习笔记
怎么办,膜你赛要挂惨了,下午我还在学区间\(dp\)! 不管怎么样,计划不能打乱\(4\)不\(4\).. 区间dp 模板 为啥我一开始就先弄模板呢?因为这东西看模板就能看懂... for(int i ...
- 如何安装MySQL?(二)
MYSQL的两种安装方式 MSI安装 ZIP安装 第一步: 第二步: 第三步: 这里我选择下载到桌面吧! 第四步: 第五步: 第六步: 第七步: 典型安装:除了安装MySQL的服务器,还安装MySQL ...
- Android 自定义viewpager 三张图片在同一屏幕轮播的效果
github:https://github.com/nickeyCode/RoundImageViewPager 说实话不知道怎么描述这个效果,在网页上见得跟多,公司要求做这个效果得时候不知道怎么用文 ...
- Servlet设置Cookie无效
项目中保存用户信息用到了Cookie,之前没有太注意,今天怎么设置Cookie都无效,断点跟了无数遍,都没有找出问题所在,明明发送Cookie的代码都有执行,可是愣是找不到Cookie发送到哪里去了, ...
- VS2013+PTVS,python编码问题
1.调试,input('中文'),乱码2.调试,print('中文'),正常3.不调试,input('中文'),正常4.不调试,print('中文'),正常 页面编码方式已经加了"# -- ...