bonsoir, j'aurais besoin d'un petit éclaircissement sur les opérations sur des fichiers séquentiel...
j'ai pris l'exemple d'une union pour comprendre le principe:
On a un fichier A contenant plusieurs lignes, chaque ligne contient le contenu d'une structure complète (chaine chaine entier)
On a un autre fichier B contenant lui aussi plusieurs ligne de structure.
l'union consistant à mettre dans un fichier, tout le contenu de A et de B sans qu'une ligne identique apparaisse plus d'une fois.
voici une partie de mon code:
on as deux fichiers "file1" et "file2", et mon code rajoute juste tout le contenu de "file1" à la fin de "file2"
Il faudrais tester si la ligne rajouter ne soit pas déja présente dans "file2", et c'est sur ce point que je bloque...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 typedef struct{ char nom[MAX], prenom[MAX]; int age; } t_element; t_element lire_element (FILE *p_file) { t_element data; fscanf(p_file, "%s", data.nom); fscanf(p_file, "%s", data.prenom); fscanf(p_file, "%d", &data.age); fflush(stdin); return data; } int comparer_data (const t_element data1, const t_element data2) { return (data1.age == data2.age && !strcmp(data1.nom, data2.nom) && !strcmp(data1.prenom, data2.prenom)); } ... t_element data; while (1) { data = lire_element (p_file1); if (feof(p_file1)) break; fprintf(p_file2, "%s ", data.nom); fprintf(p_file2, "%s ", data.prenom); fprintf(p_file2, "%d\n", data.taille); } ...
Partager