Skocz do zawartości


Zdjęcie

[c]porównywanie dwóch plików


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 miraz

miraz

    Nowy

  • 1 postów

Napisano 13 12 2006 - 16:01

Mam napisać program który porównuje dwa pliki, których nazwy podane są jako parametry. Jeżeli są to pliki różne to podac pozycję pierwszej róznicy miedzy nimi.

czy to jest dobrze napisane? Czy ktoś mógłby porawić jak coś jest nie tak . Dzięki

#include<stdio.h> 
#include<stdlib.h> 

main(int argc, char **argv) 
FILE *plik1,*plik2; 
plik1=fopen(argv[1],"r"); 
plik2=fopen(argv[2],"r"); 
int c,d; 
while((c=fgetc(plik1))!=EOF) 
{ 
d=fgetc(plik2); 
if(c!=d) 
{ printf("Pliki są różne! "); 
break; 
} 
} 
} 

close(plik1);close(plik2); 

}


  • 0

#2 Titter

Titter

    Linux I Sieć.

  • 237 postów

Napisano 13 12 2006 - 18:03

#include<stdio.h> 

#include<stdlib.h> 



[b][color="#ff0000"]int[/color] [/b]main(int argc, char **argv) 

FILE *plik1,*plik2; 

plik1=fopen(argv[1],"r"); 

plik2=fopen(argv[2],"r"); 

int c,d;  [color="#009900"]//wydaje mi sie ze tu powinny byc zmienne typu [b]char[/b][/color]

[b][color="#ff0000"]bool blad=false;[/color][/b]

while((c=fgetc(plik1))!=EOF) 

{ 

d=fgetc(plik2);

if(c!=d [b][color="#ff0000"]|| d==EOF[/color][/b]) [color="#009900"]//warto rozwazy taki przypadek kiedy sie jeden plik konczy a drugi jeszcze nie zeby uniknac wysypania [/color]

{ printf("Pliki są różne! "); 

[b][color="#ff0000"]blad=true;[/color][/b]

break; 

} 

} 



[color="#ff0000"][b]if (!blad) printf("Pliki sa identyczne!");[/b][/color]

close(plik1);close(plik2); 

[b][color="#ff0000"]return 0;[/color][/b]

}


  • 0

Zobacz więcej tematów z tagiem: język C



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych