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

来源:百度知道 编辑:UC知道 时间:2024/06/07 16:31:45
有一个大班的名单:(1.txt) 另外的名单:(2.txt)
/*class 学号 姓名 */ 学号
一班 N1111120765 小红 n20765
一班 N1111112345 小黄 n32456
二班 N1111140876 小黑 n20089
三班 N1111132456 小杰
四班 N1111120089 小西
将这两份名单用C进行比较后,printf出第一行:在2.txt中没出现的人数
第二行是没出现的名单:(结果如下)
没出现的人: 一班 N1111112345 小黄
二班 N1111140876 小黑
比较的是1.txt和2.txt.下面是1.txt
一班 N1111120765 小红
一班 N1111112345 小黄
二班 N1111140876 小黑
三班 N1111132456 小杰
四班 N1111120089 小西
2.txt n20765
n32456
n20089

希望朋友们能帮我解决问题,急需,谢谢!积分只有这么多了,所以......题还有不明白的地方请发信息咨询,我真的非常的需要帮助.

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