Użyj funkcji fseek

Odczyt plików sekwencyjnie, czyli po następnej operacji odczytu ustawi kursor do następnego znaku neprochytannыy. Możesz zmienić pozycję wskaźnika za pomocą funkcji fseek (). Służy do przesuwania wskaźnika pliku do określonej pozycji. Fseek function () zdefiniowana w standardowej biblioteki języka C - stdio.h, więc na początku programu, w którym funkcja jest używana, powinna być deklaracja: #include.

Opis fseek Si

Int fseek (plik * FilePointer, przesunięcie długości, Int OP) - Funkcja przekazana następujące parametry:
  • Plik * FilePointer - wskaźnik do pliku wynikowego. Przed użyciem funkcji należy otworzyć plik za pomocą fopen ().
  • offset - za pośrednictwem tego argumentu przekazanego do funkcji, jak wiele bajtów powinien zostać przesunięty wskaźnik. Wpisz long integer (long int). Dodatnia wartość parametru oznacza przesunięcie w prawo, a ujemne w lewo.
  • Poz - określa pozycję, z której dodawane jest przesunięcie. Typ tego argumentu to liczba całkowita (int).
  • Parametr pos określa punkt początkowy, od którego zostanie odjęte przesunięcie. To może trwać trzy wartości - 012 są równoważne postaci stałych SEEK_SET

    SEEK_CUR

    i SEEK_END




  • poz wartość nadal SEEK_SET - przesunięte zostaną określone względem początku pliku .
  • Gdy SEEK_CUR jest równy, przesunięcie jest brane pod uwagę z aktualnej pozycji kursora.
  • Jeżeli jest ważne SEEK_END zatem naprężenie jest odejmowana od końca pliku.
  • Funkcja fseek zwraca zero w przypadku pomyślnego przesunięcia wskaźnika i innegowartość niezerowa, jeśli nie udało się wykonać żądanej akcji, na przykład w przypadku pliku wyjściowego pliku obcego. Zwracana wartość będzie równa funkcji EBADF w przekazywaniu niewłaściwego pliku indeksu, EINVAL jeśli niedopuszczalne argumentu wartość lub ESPIPE od parametru błędu przesunięcia, na przykład, wychodząc poza plikiem.

    Przykład



    Program



    OPIS



    include

    int głównego () ,

    {,

    Plik * fp;

    fp = fopen ("test.txt", "r");

    fseek (fp, 7 SEEK_CUR);

    printf ("% ld", ftell (fp));

    fclose (fp);

    return 0; ,

    }



    Połączyć standardową bibliotekę C stdio.h pliku zmienna zadając plik do odczytania przesunąć kursor do 7 bajtów do przodu od pozycji (bo my po prostu otworzyć plik, kursor znajduje się na początku) Drukuje bieżącą pozycję kursora za pomocą ftell () zamyka plik

    również rozważyć istnieją inne funkcje do pracy ze wskaźnikiem, na przykład:
  • Rewind () - używane do umieszczenia kursora na początku pliku.
  • Ftell () - Zwraca pozycję wskaźnika w danym momencie.
  • Feof () - służy do określenia końca pliku. Kiedy koniec pliku osiągnie wartość funkcji będzie prawdą.
  • Uwagi końcowe

    W przypadku korzystania z tej funkcji, aby pamiętać, że działa tylko z strumieniowe IO. Nie zapomnij również zamknąć pliku za pomocą fclose ().

    Powiązane publikacje