Použijte funkci fseek

Čtení souborů postupně, tedy po další operace čtení nastaví kurzor na další znak neprochytannыy. Změňte polohu kurzoru lze pomocí fseek (). Používá se přesunout ukazatel souboru na určitou pozici. Funkce fseek () definované ve standardní knihovně jazyka C - stdio.h, takže začátek programu, ve kterém je použita funkce, měla by existovat prohlášení: #include.

Popis fseek Si

Int fseek (FILE * FilePointer, dlouhé offset, int pos) - funkce prošel následující argumenty:
  • FILE * FilePointer - ukazatel objektu souboru. Chcete-li použít nástroj je nutné otevřít soubor pomocí fopen ().
  • Offset - přes tento argument předaný funkci, kolik bajtů má být posunuty ukazatel. Zadejte dlouhé celé číslo (dlouhé int). Kladná hodnota znamená posun směrem doprava a záporný směrem doleva.
  • Pos - určuje pozici, ze které posun je přidána. Typ argumentu celé číslo (INT).
  • Parametr pos definuje výchozí bod, ze kterého se odečítá posunutí. To může trvat tři hodnoty - 012 jsou ekvivalentní znak konstant SEEK_SET

    , SEEK_CUR

    a SEEK_END

    :


  • na hodnotu pos ještě SEEK_SET - odsazení se určí vzhledem k začátku souboru .
  • Když se hodnota na SEEK_CUR považována aktuální pozice ukazatele.
  • V případě, že je důležité, SEEK_END tedy zkreslení je odečtena od konce souboru.
  • funkce B fseek vrátí nulu v případě úspěchu pohybuje ukazatel a jakékolivnenulovou hodnotu, pokud se nepodařilo provést požadovanou akci, například v případě výstupu souboru cizího indexu. Návratová hodnota se bude rovnat EBADF funkci při předávání nesprávný soubor indexu, EINVAL pokud hodnota argumentu nepřijatelné nebo ESPIPE parametru chyby kompenzovat, například nad rámec souboru.

    Příklad



    Program



    Popis



    #include

    int main ()

    ,{

    * FILE RP;

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

    fseek (fp, 7 SEEK_CUR);

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

    fclose (fp);

    návrat 0;

    }



    připojit standardní knihovny C stdio.h proměnná s dotazem souboru Otevřete soubor číst Pohybem kurzoru na 7 bytů vpřed od aktuální polohy (protože jsme právě otevřeli soubor, je kurzor na začátku) Vytiskne aktuální pozici kurzoru pomocí ftell () zavře soubor

    také zvážit, existují i ​​další funkce pro práci s ukazatelem, například:
  • Rewind () - použitý k umístění kurzoru na začátek souboru.
  • Ftell () - Vrátí polohu ukazatele v okamžiku.
  • Feof () slouží k identifikaci konce souboru. Po dosažení konce souboru bude hodnota funkce pravdivá.
  • závěrečných

    Při použití této funkce na paměti, že pracuje pouze s streaming IO. Také nezapomeňte zavřít soubor s fclose ().

    Související publikace