ďťż
chomiki Fujitsu Amilo L1310G Sklepowy-NOWY+programy orginalne Poszukuje programu, który zrobił by zrzut ekranu z BIOS'a Pomocy - program do cięcia muzyki -cool edit Biologia - programy edukacyjne oraz grgy i quizy Szukam programu pokazującego obroty wiatraka CPU... Program do zmiany/aktualizacji z internetu tagów IDv3/4 Potrzebuje Programu Do Kasowania Słów Z Piosenek [delphi] problem ze zmianą ikony programu Program do zmiany IP - problem z rapidshare.. :/ Program do rysowania osi współrzędnych |
chomikiMam 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 ktoś to może sprawdzić czy jest dobrze? wielkie dzięki #include<stdio.h> #include<stdlib.h> int main(int argc, char **argv) FILE *plik1,*plik2; plik1=fopen(argv[1],"r"); plik2=fopen(argv[2],"r"); int c,d; bool blad=false; while((c=fgetc(plik1))!=EOF) { d=fgetc(plik2); if(c!=d || d==EOF) { printf("Pliki są różne! "); blad=true; break; } } if (!blad) printf("Pliki sa identyczne!"); close(plik1);close(plik2); return 0; } Niezupełnie. Po pierwsze piszesz to w c++, a nie w c jak napisałeś w tytule (przynajmniej używasz funkcji z c++) i tego nie skompilujesz w c. Popełniłeś kilka błędów składniowych: #include<stdio.h> #include<stdlib.h> int main(int argc, char **argv) //niepotrzebna ta druga gwiazdka, przecież nie robisz wskaźnika do wskaźnika FILE *plik1,*plik2; plik1=fopen(argv[1],"r"); plik2=fopen(argv[2],"r"); int c,d; bool blad=false; while((c=fgetc(plik1))!=EOF) { d=fgetc(plik2); if(c!=d || d==EOF) { printf("Pliki są różne! "); blad=true; break; } } if (!blad) printf("Pliki sa identyczne!"); close(plik1);close(plik2); //nie ma procedury close() tylko fclose do zamykania plków otworzonych procedurą fopen() return 0; } Jak chcesz w c pisać to zmieniłek kilka drobnych rzeczy, żeby się kompilował. A tu masz kod poprawny. #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]){ FILE *plik1,*plik2; int c,d; int blad=0; int i=0; //zmienna przechowująca pozycję w pliku plik1=fopen(argv[1],"r"); plik2=fopen(argv[2],"r"); while((c=fgetc(plik1))!=EOF) { i++; //dodaje 1 do zmiennej określającej pozycję w pliku d=fgetc(plik2); if(c!=d || d==EOF) { printf("Pliki sa rozne! Pozycja: %d", i); //zmieniłem, żeby liczyło pozycję blad=1; break; } } if (!blad) printf("Pliki sa identyczne!"); fclose(plik1); fclose(plik2); return 0; } A i nie ma w c stałej true i false, więc zamieniłem na 0 i 1. dzięki za poprawki!!!!! |
||||
Wszelkie Prawa ZastrzeĹźone! chomiki Design by SZABLONY.maniak.pl. | |||||