C/fseek
Wygląd
< C
Deklaracja
[edytuj]- int fseek(FILE *file, long offset, int mode);
Plik nagłówkowy
[edytuj]Opis
[edytuj]- Funkcja fseek ustawia pozycję w pliku file na offset w zależności od wartości argumentu mode. Jeśli mode jest równy zero, to offset liczony jest od początku. Jeśli 1, to offset przesuwany od aktualnej pozycji, a 2 przesuwany o offset od końca pliku (wskaźnik pliku jest przesuwany do pozycji <koniec_pliku> + offset).
Wartość zwracana
[edytuj]- Zero, w przypadku błędu wartość niezerowa.
Przykład użycia
[edytuj]#include <stdio.h>
int main()
{
FILE *f = fopen("notatki.txt", "r+");
if (f == NULL)
return 1;
fseek(f, 10, 0); // dziesiąta pozycja, licząc od początku
printf("%c\n", fgetc(f));
fseek(f, 2, 1); // trzynasta (10 + odczyt 1 znaku + 2) pozycja, licząc od początku (+2 licząc od bieżącej pozycji)
printf("%c\n", fgetc(f));
fseek(f, -10, 2); // dziesiąta pozycja od końca
printf("%c\n", fgetc(f));
fclose(f);
return 0;
}
Po uruchomieniu programu dla pliku
1234567890abcdefghijklmnoprst
Uzyskamy wynik
a d j