c语言 读出文件的不同处

来源:百度知道 编辑:UC知道 时间:2024/04/29 21:26:55
是这样一个题,在name.txt中有份名单(有班级,学号,姓名),在name1.txt中有部分的名字(只显示学号),用C对比后,将在name1.txt中没出现的人输出来(有班级,学号,姓名)。
求一段程序。班级,学号,姓名之间有一个空格,是在同一行上的.而name1.txt中只显示学号.

name1.txt中只有学号还是只有名字?
名字或学号之间是空格?还是一个名字一行的那种形式。
说清楚了,这些都关系到代码怎么写。

以下代码已调试过,需要先在c盘根目录建两个文件name.txt和name1.txt。
这是我的文件内容和调试结果:
c:\name.txt
classA 001 Grubby
classB 002 Moon
classC 003 Lucifer
classD 004 Sky
classE 005 Fov
classF 006 Sweet
classG 007 Tod
classH 008 Creo
classI 009 Lyn
classJ 010 Sunshine
c:\name1.txt
002
005
008

输出结果:
name1中没有出现的人有:
classA 001 Grubby
classC 003 Lucifer
classD 004 Sky
classF 006 Sweet
classG 007 Tod
classI 009 Lyn
classJ 010 Sunshine

代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
FILE *fp1, *fp2;
int flag = 0;
char banji[10],xuehao[10],xingming[20],xuehao1[10];

if( (fp1=fopen("c:/name1.txt","r"))==NULL )
{
printf("打开na