练习 7-6 编写一个程序,比较两个文件并打印它们第一个不相同的行
来源:互联网 发布:数据库删除语句怎么写 编辑:程序博客网 时间:2024/06/01 03:58
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXNAME 1000
int main(int argc,char **argv)
{
FILE *fp,*fp2;
char fname1[MAXNAME],fname2[MAXNAME];
int i = 1;
if(argc == 1){
printf("Please enter two need to compare file name:\n");
scanf("%s %s",fname1,fname2);
if((fp = fopen(fname1,"r")) == NULL || (fp2 = fopen(fname2,"r")) == NULL){
fprintf(stderr,"File open fail!\n",(fp == NULL) ? fname1 : fname2);
exit(1);
}
}else
if((fp = fopen(argv[1],"r")) == NULL || (fp2 = fopen(argv[2],"r")) == NULL){
fprintf(stderr,"%s File open fail\n",(fp == NULL) ? argv[1] : argv[2]);
exit(1);
}
while(fgets(fname1,MAXNAME,fp) && fgets(fname2,MAXNAME,fp2))
if(strcmp(fname1,fname2) == 0){
i++;
continue;
}
else{
fputs(fname1,stdout);
fputs(fname2,stdout);
break;
}
printf("line: %d\n",i);
if(ferror(fp) || ferror(fp2)){
fprintf(stderr,"error writing stdout\n");
exit(2);
}
exit(0);
}
#include <string.h>
#include <stdlib.h>
#define MAXNAME 1000
int main(int argc,char **argv)
{
FILE *fp,*fp2;
char fname1[MAXNAME],fname2[MAXNAME];
int i = 1;
if(argc == 1){
printf("Please enter two need to compare file name:\n");
scanf("%s %s",fname1,fname2);
if((fp = fopen(fname1,"r")) == NULL || (fp2 = fopen(fname2,"r")) == NULL){
fprintf(stderr,"File open fail!\n",(fp == NULL) ? fname1 : fname2);
exit(1);
}
}else
if((fp = fopen(argv[1],"r")) == NULL || (fp2 = fopen(argv[2],"r")) == NULL){
fprintf(stderr,"%s File open fail\n",(fp == NULL) ? argv[1] : argv[2]);
exit(1);
}
while(fgets(fname1,MAXNAME,fp) && fgets(fname2,MAXNAME,fp2))
if(strcmp(fname1,fname2) == 0){
i++;
continue;
}
else{
fputs(fname1,stdout);
fputs(fname2,stdout);
break;
}
printf("line: %d\n",i);
if(ferror(fp) || ferror(fp2)){
fprintf(stderr,"error writing stdout\n");
exit(2);
}
exit(0);
}
阅读全文
0 0
- 练习 7-6 编写一个程序,比较两个文件并打印它们第一个不相同的行
- 分享一个bat脚本,比较文件输出是否相同,并输出第一个不同的位置
- 编写一个程序,从标准输入一行一行地读取文本,并完成如下任务:如果文件中有两行或更多行相邻的文本内容相同,那么就打印其中一行,其余行不打印。
- 比较两个文件,并删掉相同的行
- 练习1-17 编写一个程序,打印长度大于80个字符的所有输入行。
- 练习6-2 编写一个程序,用以读入一个C语言程序,并按字母表顺序分组打印变量名,要求每一组内各变量名的前六个字符相同,其余字符不同
- 比较两个字符串的大小,并显示最大的字符串,如果两个字符串相同则显示第一个
- 读入一个c程序,并按字母表顺序分组打印变量名,每组前N个字符相同(TCPL 练习6-2)
- 比较两个文件或两个文件集并显示它们之间的不同
- 文件比较. 写一个比较两个文本文件的程序. 如果不同, 给出第一个不同处的行号和 列号.
- 练习1-7 编写一个打印打印EOF值的程序
- perl脚本比较两个文件的相同行和不同行
- 编写一个主函数 main,使用两个值作为实参,并输出它们的和。
- 比较两个数组中相同元素并打印出来
- 编写查找一个单链表特定元素的程序。分别使用递归和非递归方法实现,并比较它们的运行时间。
- 编写并运行第一个Lisp程序
- 比较两个文件相同的地方
- 编写一个程序 把八个整数读入一个数组中 然后以相反的顺序打印它们
- java 数组
- 在pom.xml中指定主类
- 第十篇
- Hibernate综合运用内部留言本(三)
- 简易的深度学习框架Keras代码解析与应用
- 练习 7-6 编写一个程序,比较两个文件并打印它们第一个不相同的行
- Trie树
- 梯度下降法快速教程 | 第三章:学习率衰减因子(decay)的原理与Python实现
- POJ:1961-Period(寻找字符串循环节)
- Centos防火墙设置与端口开放的方法
- RNN粗浅理解
- 交叉编译和交叉工具链
- jQ6 插件
- GreenDao配置以及使用