BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stdio.h> > ftell

ftell() fonksiyonu

Bildirim

long ftell(FILE *stream);

Açıklama

Stream parametresi ile gösterilen akışın aktif dosya konumunu geri döndürür.

Akış ikili modda açıldığında, bu fonksiyon tarafından elde edilen değer dosyanın başından itibaren bayt değeridir.

Akış metin modunda açıldığında, bu fonksiyon tarafından döndürülen değer anlamsız bir değerdir. Sadece, fseek() fonksiyonu ile kullanılacağı zaman bir anlam ifade eder.

Parametreler

stream: İşlem yapılacak akışı tanımlayan FILE nesnesi işaretçisidir.

Dönüş değeri

Başarı durumunda dosyanın aktif konumu, hata durumunda ise -1L değeri geri döndürülür.

Örnek


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *fp;

    if ((fp = fopen ("dosya.txt", "w+")) == NULL) {
         printf("Dosya açma hatası!");
         exit(1);
    }

    printf("Dosyanın aktif konumu: %ld\n", ftell(fp));

    fputs("Bilgisayar", fp);

    printf("Dosyanın aktif konumu: %ld\n", ftell(fp));

    fclose(fp);

    return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

Dosyanın aktif konumu: 0
Dosyanın aktif konumu: 10

Yukarıdaki program, yazma ve okuma modunda (w+) açtığı dosyanın konumunu ftell() fonksiyonu ile alır ve ekrana yazar. Fputs() fonksiyonu ile bir karakter dizisini dosyaya yazdıktan sonra tekrar ftell() fonksiyonu ile dosya konumunu alır ve ekrana yazar.