Środowisko programisty/C - pliki: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 9: Linia 9:
=== open() i close() ===
=== open() i close() ===


Podczas dostępu niskopoziomowego pliki identyfikowane są przez liczby całkowite typu int. Do otwierania plików służy funkcja open(). Po zakończeniu operowania na pliku należy ten plik zamknąć aby zwolnić zasoby systemowe. Typowa funkcja używająca plików wygląda zatem następująco:
Podczas dostępu niskopoziomowego pliki identyfikowane są przez liczby całkowite typu int. Do otwierania plików służy funkcja open(). Po zakończeniu operowania na pliku należy ten plik zamknąć aby zwolnić zasoby systemowe. Jeśli pliku nie uda się otworzyć, to funkcja open zwróci wartość mniejszą od zera. Typowa funkcja używająca plików wygląda zatem następująco:


  int identyfikator_pliku;
  int identyfikator_pliku;
  identyfikator_pliku = open(... parametry ...)
  identyfikator_pliku = open(... parametry ...)
  ... rób coś z plikiem
  if (identyfikator_pliku < 0) { .... obsłuż błąd } else
close(identyfikator_pliku)
{
  ... rób coś z plikiem
  close(identyfikator_pliku)
}


=== read() i write() ===
=== read() i write() ===

Wersja z 08:51, 25 wrz 2006

Wprowadzenie

Istnieją dwie metody dostępu do plików w C:

  1. Dostęp wysokopoziomowy - który umożliwia wygodne operowanie na plikach tekstowych
  2. Dostęp niskopoziomowy - który zapewnia dostęp do plików binarnych

Dostęp niskopoziomowy

open() i close()

Podczas dostępu niskopoziomowego pliki identyfikowane są przez liczby całkowite typu int. Do otwierania plików służy funkcja open(). Po zakończeniu operowania na pliku należy ten plik zamknąć aby zwolnić zasoby systemowe. Jeśli pliku nie uda się otworzyć, to funkcja open zwróci wartość mniejszą od zera. Typowa funkcja używająca plików wygląda zatem następująco:

int identyfikator_pliku;
identyfikator_pliku = open(... parametry ...)
if (identyfikator_pliku < 0) { .... obsłuż błąd } else
{
  ... rób coś z plikiem
  close(identyfikator_pliku)
}

read() i write()

rename()

unlink() i remove()

lseek()

Dostęp wysokopoziomowy