Do spisu tresci tematu 6

6.5 Zmiana biezacej pozycji w pliku

Spis tresci


Wprowadzenie

Do zmiany aktualnej pozycji w pliku sluzy funkcja lseek(). Dzieki niej nie jest wymuszony sekwencyjny dostep do danych. Za jej pomoca mozna przesunac pozycje w pliku zarowno "w przod", jak i "w tyl" oraz do konkretnej pozycji (liczac od poczatku, konca lub aktualnej pozycji w pliku).


Opis dzialania

Funkcja otrzymuje jako parametry deskryptor pliku, pozycje w pliku oraz parametr, za pomoca ktorego interpretuje sie pozycje.


Deklaracja, argumenty oraz wartosci zwracane przez funkcje

Deklaracja funkcji:

int sys_lseek(unsigned int fd, off_t offset, unsigned int origin);

Argumenty:

fd - deskryptor do pliku na ktorym operujemy

offset - nowa pozycja w pliku (byc moze wzgledna)

origin - parametr sluzacy interpretacji drugiego parametru. Musi byc to liczba rowna 0, 1 lub 2. interpretacja odpowiednich wartosci zostala omowiona w opisie dzialania.

Wyniki:

W przypadku powodzenia funkcja zwraca nowa pozycje w pliku, w przeciwnym wypadku wartosc mniejsza od zera:


Zrodla informacji

  1. Zrodla jadra:


Pytania i odpowiedzi

Na razie brak jednych i drugich..


Autor: Lukasz Masko