我们需要检查 2 个文件是否包含相同的字节编写一个 C 程序,它接受两个参数,都是文件名。如果两个文件不同compare_file.c,无论它们是否不同, 都应该打印第一个字节的位置。使用与以下示例相同的格式。如果一个文件比另一个文件短,但它包含的字节与另一个文件相同,compare_file.c则应打印一条消息指示这一点。使用与以下示例相同的格式。如果这 2 个文件包含完全相同的字节,compare_file.c则应打印一条消息来指示这一点。再次使用与以下示例相同的格式。下面有机翻
2条回答 默认 最新
- 技术专家团-小桥流水 2021-11-17 08:55关注
代码如下:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char ch1,ch2; int i= 0; FILE* fp1,*fp2; if(argc != 3) { printf("参数不符合要求"); return 0; } //打开文件 if( (fp1 = fopen(argv[1],"r")) ==0) { printf("文件1打开失败\n"); return 0; } if( (fp2 = fopen(argv[2],"r")) ==0) { printf("文件2打开失败\n"); return 0; } while( (!feof(fp1))&&(!feof(fp2)) ) { fread(&ch1,1,1,fp1); fread(&ch2,1,1,fp2); if(ch1 != ch2) { printf("Files differ at byte %d\n",i); fclose(fp1);fclose(fp2); return 0; } i++; } if (feof(fp1) && feof(fp2)) { printf("Files are identical\n"); }else if ( feof(fp1) && (!feof(fp2)) ) { printf("EOF on %s\n",argv[1]); }else if ( (!feof(fp1))&& feof(fp2)) { printf("EOF on %s\n",argv[2]); } fclose(fp1); fclose(fp2); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测