问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急求朋友的帮助!有关C语言 比较两个文件

发布网友 发布时间:2022-07-04 14:56

我来回答

2个回答

热心网友 时间:2022-07-09 03:25

Sorry啊,一直没什么时间,只写了一部分,把文件内容读到内存里了。

#include <stdio.h>
#include <malloc.h>
#include <memory.h>

#define N 10

typedef struct
{
char acClass[8];
char acID[12];
char acName[8];
}Info;

int ReadFirstFile(void **p);//读取文件内容到内存
int ReadSecondFile(void **p);//读取文件内容到内存

int AlocMem(void *p);

int main()
{
void *p = NULL;
char *q = malloc(6*N);
memset(q,0,6*N);
AlocMem(&p);
ReadFirstFile(p);
ReadSecondFile(&q);

return 0;
}
int AlocMem(void **p)
{
*p = malloc(sizeof(Info)*N);
if (NULL== *p)
{
return -3; //内存分配失败
}
if (!memset(*p,0,sizeof(Info)*N))
{
return -4; //内存初始化失败
}
return 0;
}
int ReadFirstFile(void *p)
{
FILE *fp = fopen("1.txt","r");
char ch = 0;
int i = 0; //第i条记录
int j = 0; //记录内的第j列
int k = 0;
Info *pInfo = NULL;
if (NULL == fp)
{
return -1; //文件打开失败
}
if (NULL == p)
{
return -2; //传入参数为空
}
pInfo = (Info*)p;

while (ch=fgetc(fp))
{
if (' ' == ch)
{
continue;
}
if ((ch!='N') && (j==0))
{
(pInfo+i)->acClass[k++] = ch;
continue;
}
for (k=0,j=1; k<11; k++) //学号长度为11个字符
{
(pInfo+i)->acID[k] = ch;
ch = fgetc(fp);
if (ch=='\n')
{
break;
}
}
j = 2;
k = 0;
while (ch!='\n')
{
if (ch==' ')
{
ch = fgetc(fp);
continue;
}
(pInfo+i)->acName[k++] = ch;
ch = fgetc(fp);
if (ch == EOF)
{
return 0; //读取结束
}
}
k = 0;
j = 0;
i++; //读取下一条记录
}
return 0;
}
int ReadSecondFile(void **p)
{
FILE *fp = fopen("2.txt","r");
char ch = 0;
int i = 0; //第i条记录
int k = 0;
char *pcID ;
if (NULL == fp)
{
return -1; //文件打开失败
}
if (NULL == p)
{
return -2; //传入参数为空
}
// ch = fgetc(fp);
pcID = (char*)(*p);

while (ch=fgetc(fp))
{

while (ch!='\n')
{
if (ch==' ')
{
ch = fgetc(fp);
continue;
}
(pcID+i*6)[k++] = ch;
ch = fgetc(fp);
if (ch == EOF)
{
return 0; //读取结束
}
}
i++;
k = 0;

}
return -1;

}

热心网友 时间:2022-07-09 03:25

对啊,你这个说得不详细,怎么帮忙啊?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么样制作个人简历 上海海事大学对外交流多麽出国会不会容易一些 上海海事大学提前批今年要几号才能出来 怎么查找大学家长群 北京慧学堂在线教育学校的老师打电话来说要交3480元钱,给孩子半年的在... 左脸颊长青春痘是什么原因? 某商店上午9:00开始营业全天营业8小时下午几点关门 (2012?泗县模拟)某商店每天10:00-18:00营业,全天营业88小时. 某商店每天9:20-18:00营业,全天营业()小时。老师早上7:30到校,下午4... 商场营业时间是上午8:00-下午6:00,一位顾客向一位老先生嗯打听时间了... N1手机的PIN密码是多少? 你们认为哪个好记N11111,f11111 粤SB78N1的车牌怎么样? 大家觉得N11111和a11111哪个好看 高中生申请北欧大学的相关问题。 关于斯德哥尔摩大学的一些问题 斯德哥尔摩大学的介绍 有没有申请斯德哥尔摩大学的同学,欢迎交流 瑞典语言学校 我有c1e驾证怎么增驾d驾证? 今天去天堂2官网,有个免费版和时间版,免费版是永久免费,不用冲点的吗? 跪求2D网游 画质要好的 非RMB的天堂 (有该死的骑兽 DNF 啊 回合制的就不要说了)!!! 陌陌距离可以修改吗 陌陌上面发表动态的距离可以自己改吗 人际交往能力的构成 长城h5音乐点了突然没反应 2015广西公*没有将自考,函授等教育部认可的学历列入专业分类目录里面? 计算机及应用专业能报广西计算机科学与技术类公务员吗? 防紫外线 镜片有么?哪个好,谢谢! Pvc膜抗uv怎样用数据表达出来 计算机网络题,简述中继器,网桥,交换机,路由器等网络设备的作用和 中继器,集线器,交换机,网桥,网关,路由器的功能作用,区别到底是什么?我很想知道 通过相亲刚认识5天的男生说要给我买情侣戒指是什么意思 一个男生跟你买情侣戒指代表什么 如果一个男生要出高价买你女友的戒指,这代表什么? 如果男友答应了我的要求,给我买情侣戒指,这代表着什么呢? 男朋友送我情侣戒指是什么意思 喜欢情侣戒指的男生是怎样的心理 红米note9pro纯净模式没有关闭接口 最讨厌他们上来就认亲戚,你说是不是吧,哥哥这个梗什么意思? CJ/t123 与CJ/T189的区别是什么 CJ/T189-2007中附录A和附录C的区别是什么 借了一万五的水钱一个月1800的利息黑吗? 谁能告诉我吴江的地下赌场里的水钱的利息普遍是多少钱一天? 民国时期,北洋军阀首领失败后,为何都往天津跑呢? 民国时期,北洋军阀首领失败后,为何都爱往天津跑? 遭百姓唾弃的大军阀“吴佩孚”,为何死后却有数万百姓为他送别?_百度知 ... 北洋军阀曹锟的故事 姜是我们生活中非常常见的一种调味品,多吃姜对身体有哪些好处? 两个单位在一起聚餐如何致词?- 问一问