Bonjour,

Voila je debute dans la programmation C et j'ai un petit proleme qui m'empeche d'avancer le message "violation d'acces (erreur de segmentation) est apparue dans votre programme" apparait meme si j'ai pas d'erreur lors de la compilation.
mon programme permet de comparer deux fichiers ligne par ligne et d'aficher les elements en commun dans un 3eme fichier.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
 
main()
{
 
    int  test, lectureok;
    FILE * pr= fopen("R1K.txt","r");
    FILE * ps= fopen("S1K.txt","r");
    FILE * joint= fopen("jointure.txt","w");
    char LR, n, LS; 
 
    do
        {
 
        fgets(&LR, 2, pr);   
        do 
           {
           ps= fopen("S1K.txt","r");
 
           fgets(&LS, 2 , ps);                           // lire une ligne ds un fichier 
 
           if (strcmp(&LR, &LS) == 0)                 // comparaison de char
              {
              fputs(&LS, joint);                      // ecrire une ligne ds un fichier
              test=1;
              }
           }
 
           while (fgetc(ps)!=EOF);
 
           fclose(ps);
 
         }
           ps= fopen("S1K.txt","r");
    while (fgetc(pr)!=EOF);
 
    fclose(pr);
 
    fclose(joint);
 
    printf("Resultat de la jointure : ");
    joint = fopen("jointure.txt", "r");
 
    if(test==1){
 
    do
        {
            lectureok=fscanf(joint, "%s", &n);
            if (lectureok==1) printf("%s\n", n);
        }
    while (lectureok==1 && fgetc(joint)!=EOF);
 
    fclose(joint);
		}
}
Merci d'avance pour toute aide