Použite funkciu fseek

Čítanie súborov postupne, teda po ďalšie operácie čítania nastaví kurzor na ďalší znak neprochytannыy. Pozíciu ukazovateľa môžete zmeniť pomocou funkcie fseek (). Slúži na presunutie ukazovateľa súboru na konkrétnu pozíciu. Funkcia fseek () definované v štandardnej knižnici jazyka C - stdio.h, takže začiatok programu, v ktorom je použitá funkcia, mala by existovať vyhlásenie: #include.

Popis fseek Si

Int fseek (FILE * FilePointer, dlhé offset, int pos) - funkcia prešiel nasledovné argumenty:
  • FILE * FilePointer - ukazovateľ objektu súboru. Pred použitím funkcie musíte otvoriť súbor pomocou fopen ().
  • Offset - cez tento argument odovzdaný funkcii, koľko bajtov má byť posunuté ukazovateľ. Zadajte dlhé celé číslo (dlhé int). Pozitívna hodnota parametra znamená posun vpravo a negatív vľavo.
  • Pos - definuje pozíciu, z ktorej sa pridáva posun. Typ tohto argumentu je integer (int).
  • Parameter pos určuje začiatočný bod, od ktorého bude odpočítaný posun. To môže trvať tri hodnoty - 012 sú ekvivalentné znak konštánt SEEK_SET

    , SEEK_CUR

    a SEEK_END

    :


  • na hodnotu pos ešte SEEK_SET - odsadenie sa určí vzhľadom k začiatku súboru ,
  • Keď je SEEK_CUR rovný, posun sa zvažuje z aktuálnej pozície kurzora.
  • V prípade, že je dôležité, SEEK_END teda skreslenie je odpočítaná od konca súboru.
  • Funkcia fseek vráti nulu v prípade úspešného posunu ukazovateľa a akéhokoľveknenulovú hodnotu, ak sa nepodarilo vykonať požadovanú akciu, napríklad v prípade výstupu súboru cudzích indexov. Návratová hodnota sa bude rovnať EBADF funkciu pri odovzdávaní nesprávny súbor indexu, EINVAL ak hodnota argumentu neprijateľné alebo ESPIPE parametra chyby kompenzovať, napríklad nad rámec súboru.

    Príklad



    Program



    Opis



    #include

    int main ()

    ,{

    * FILE RP;

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

    fseek (fp, 7 SEEK_CUR);

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

    fclose (fp);

    návrat 0;

    }



    pripojiť štandardné knižnice C stdio.h premenná s dotazom súboru Otvorte súbor čítať Pohybom kurzora na 7 bytov vpred od aktuálnej polohy (pretože sme práve otvorili súbor, je kurzor na začiatku) Vytlačí aktuálnu pozíciu kurzora pomocou ftell () zatvorí súbor

    tiež zvážiť, existujú aj ďalšie funkcie pre prácu s ukazovateľom, napríklad:
  • Rewind () - slúži na umiestnenie kurzora na začiatku súboru.
  • Ftell () - Vracia polohu ukazovateľa v okamihu.
  • Feof () - slúži na identifikáciu konca súboru. Po dosiahnutí konca súboru bude hodnota funkcie pravdivá.
  • záverečných

    Pri použití tejto funkcie na pamäti, že pracuje iba s streaming IO. Tiež nezabudnite zatvoriť súbor s fclose ().

    Súvisiace publikácie