Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Pomógł: GoldWolf
Język C++

ftell

[funkcja] Zwraca aktualną pozycję kursora odczytu/zapisu danych dla wskazanego strumienia.

Składnia

C/C++
#include <cstdio>

long ftell( FILE * stream );

Argumenty

ArgumentOpis
FILE *streamOkreśla strumień na którym ma zostać wykonana operacja.

Zwracana wartość

Zwraca aktualną pozycję kursora odczytu/zapisu danych w przypadku sukcesu. Funkcja zwraca wartość -1L w przypadku wystąpienia błędu.

Opis szczegółowy

Funkcja zwraca aktualną pozycję kursora odczytu/zapisu danych dla wskazanego strumienia.

Dla strumieni danych otwartych w trybie binarnym, pozycja kursora określa numer bajta na który wskazuje kursor, licząc od początku pliku.

W przypadku strumieni tekstowych, pozycja kursora może nie odzwierciedlać fizycznej numeracji bajtów, ponieważ w strumieniach tekstowych znaki przejścia do nowej linii zazwyczaj podlegają transformacjom.

Do przywrócenia pozycji kursora (otrzymanej przy pomocy funkcji fteel) należy użyć funkcji » standard Cfseek.

Dodatkowe informacje

Niektóre implementacje standardowych bibliotek C++ w przypadku wystąpienia błędu ustawiają dodatkowo kod błędu » standard Cerrno. Standard nie definiuje jednak tego zachowania, więc ewentualne ustawiane kody błędów należy weryfikować w dokumentacji zgodnej z posiadanym kompilatorem.

Przykład

C/C++
#include <cstdio>

int main()
{
    FILE * plik = fopen( "plik.txt", "rb" );
    if( plik != NULL )
    {
        fseek( plik, 0, SEEK_END );
        long odczytanaPozycja = ftell( plik );
        fclose( plik );
        printf( "Plik ma rozmiar: %ld bajtow.\n", odczytanaPozycja );
    }
    return 0;
}

Zagadnienia powiązane

fseekUstawia lub przesuwa pozycję kursora odczytu/zapisu danych dla wskazanego strumienia. (funkcja)
fgetposPobiera aktualną pozycję kursora odczytu/zapisu danych dla wskazanego strumienia. (funkcja)

Linki zewnętrzne