Salut,
Je compare deux fichiers ligne par ligne.
Je recupere deux lignes de deux fichiers differents que je compare.
J'utilse fgets pour chaque fichiers.
Seulement si une des deux lignes est blanche (un decalage ) je souhaite qu'il n'effetue pas de comparaison et qu'il avance vers la ligne suivante seulement dans le fichier ou il a trouvé une ligne balnche.

Ce que je fait ne fonctionne pas, il ne detecte meme pas les lignes blanches. Mon test -if( line1[0]!='\n' || line2[0] != '\n' )- est toujours vrai meme quand il rencontre une ligne blanche :

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
 
while( fgets(line1,BUFFSIZE, theFile1)!=NULL  && fgets(line2,BUFFSIZE, theFile2)!=NULL ){
        //tant que je ne suis pas en fin de ligne ou en fin de fichier
       if( line1[0]!='\n' || line2[0] != '\n' ) {    
           k++; 
           if(strcmp(line1, line2) != 0) {
                if((theFile3 = fopen("outResult", "a")) == NULL) {
                    fprintf(stderr, "Error while opening outResult file \n");
                    return EXIT_FAILURE;
                }
 
                ret = traitement_line (line1, line2, thePrecision);
                if( ret == 1) {
 
                    fprintf(theFile3, "%s(line %d):\t%s\n", inFileName1, k, line1);
                    printf("%s(line %d):\t%s\n", inFileName1, k, line1);
 
                    fprintf(theFile3, "%s(line %d):\t%s\n", inFileName2, k, line2);
                    printf("%s(line %d):\t%s\n", inFileName2, k, line2);
                }
            } 
        line1[0]='\0';line2[0]='\0';
        }
        else { 
            if (line1[0]='\n'){
                line1[0]='\0';
                continue;
            }
            else if(line1[0]='\n'){
                line1[0]='\0';
                continue;
            }
        }      
    }
 
    if (theFile1 != NULL) {
        fclose(theFile1);
    }
    if (theFile2 != NULL) {
        fclose(theFile2);
    }
    if (theFile3 != NULL) {
        fclose(theFile3);
    }
    return EXIT_SUCCESS;
}
merci de votre aide