Kurs programowania w C cz. 85

Nasza ocena:

5
Wyświetleń: 588
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C  cz. 85 - strona 1

Fragment notatki:

ROZMIAR PLIKU 101 Rozmiar pliku Dzięki standardowym funkcjom języka C możemy m.in. określić długość pliku. Do tego celu służą funkcje  fsetpos,  fgetpos  oraz  fseek.  Ponieważ przy każdym odczycie- /zapisie z/do pliku wskaźnik niejako “przesuwa” się o liczbę przeczytanych/zapisanych bajtów. Możemy jednak ustawić wskaźnik w dowolnie wybranym miejscu. Do tego wła- śnie służą wyżej wymienione funkcje. Aby odczytać rozmiar pliku powinniśmy ustawić nasz wskaźnik na koniec pliku, po czym odczytać ile bajtów od początku pliku się znaj- dujemy. Wiem, brzmi to strasznie, ale działa wyjątkowo prosto i skutecznie. Użyjemy do tego tylko dwóch funkcji:  fseek  oraz  fgetpos.  Pierwsza służy do ustawiania wskaźni- ka na odpowiedniej pozycji w pliku, a druga do odczytywania na którym bajcie pliku znajduje się wskaźnik. Kod, który określa rozmiar pliku znajduje się tutaj: #include  int main (int argc, char **argv) { FILE *fp = NULL; fpos_t dlugosc; if (argc != 2) { printf ("Użycie: %s \n", argv[0]); return 1; } if ((fp=fopen(argv[1], "rb"))==NULL) { printf ("Błąd otwarcia pliku: %s!\n", argv[1]); return 1; } fseek (fp, 0, SEEK_END); /* ustawiamy wskaźnik na koniec pliku */ fgetpos (fp, &dlugosc); printf ("Rozmiar pliku: %d\n", dlugosc); fclose (fp); return 0; } Znajomość rozmiaru pliku przydaje się w wielu różnych sytuacjach, więc dobrze przeanalizuj przykład! Przykład — pliki graficzny Najprostszym przykładem rastrowego pliku graficznego jest  plik PPM.  Poniższy program pokazuje jak utworzyć plik w katalogu roboczym programu. Do zapisu : • nagłówka pliku używana jest funkcja  fprintf, • tablicy do pliku używana jest funkcja  fwrite. #include  int main() { const int dimx = 800; const int dimy = 800; int i, j; ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz