J'ai écris un programme en C qui fusionne deux fichiers avec la même structure d'employés et ordonnés par ordre alphabétique croissant des noms. J'ai mis le code en bas. J'ai un problème avec la fonction fread, elle ne fait pas avancer séquentiellement la lecture dans les deux fichiers à fusionner pour lire. Quelqu'un pourrait m'aider SVP. Merci
**************************************************
#include <stdio.h>
#include <ctype.h>
#include <string.h>
char t;
int main()
{
typedef
struct
{
char nom[40];
int age;
char sexe[1];
char fonction[20];
}Employe;
Employe e1, e2;
FILE * fich1;
FILE * fich2;
FILE * fich;
fich1 = fopen("f1", "r") ;
fich2 = fopen("f2", "r") ;
fich = fopen("f", "w") ;
fread(&e1, sizeof(e1), 1, fich1);
fread(&e2, sizeof(e2), 1, fich2);
while ((e1.nom != "0") && (e2.nom != "0"))
{
if (strcmp(e1.nom,e2.nom)<0)
{
printf("%s%s", "Ajout de ", e1.nom);
fwrite(&e1, sizeof(e1), 1, fich);
fread(&e1, sizeof(e1), 1, fich1);
scanf("%s", &t);
}
else
{
printf("%s%s", "Ajout de ", e2.nom);
fwrite(&e2, sizeof(e2), 1, fich);
fread(&e2, sizeof(e2), 1, fich2);
scanf("%s", &t);
}
}
while (e1.nom !="0")
{
printf("%s%s", "Ajout de ", e1.nom);
fwrite(&e1, sizeof(e1), 1, fich);
fread(&e1, sizeof(e1), 1, fich1);
scanf("%s", &t);
}
while (e2.nom !="0")
{
printf("%s%s", "Ajout de ", e2.nom);
fwrite(&e2, sizeof(e2), 1, fich);
fread(&e2, sizeof(e2), 1, fich2);
scanf("%s", &t);
}
fclose(fich1);
fclose(fich2);
fclose(fich);
return 0;
}
***********************************************************************