1 Ekim 2017 Pazar

ftell

Giriş
Şu satırı dahil ederiz.
#include<stdio.h>
Örnek
Şöyle yaparız.
FILE * f = ...;

long length = ftell (f);
ftell ve Windows Text Dosya
Windows "\n" karakterini "\r\n" yani 2 byte olarak saklar. Text olarak açılan dosyada ise okurken 2 byte'ı tek byte yani "\n" olarak geri verir. Bu yüzden Windows'ta ftell() ile konum almak biraz yanıltıcı alabilir.
Örnek
Elimizde şöyle bir dosya olsun
line 1
l
Şöyle yaparız.
#include<stdio.h>
int main(){
  FILE *f = fopen("myfile.txt","r");
  
  while(!feof(f)){
    printf("\ncharacter number %d    ",ftell(f));
    putchar(fgetc(f));      
  }
  fclose(f);
  return 0;
}
Çıktı olarak şunu alırız. 6'dan sonra \n için iki byte okumuş ve 8'e atlamıştır.
character number 0    l
character number 1    i
character number 2    n
character number 3    e
character number 4
character number 5    1
character number 6

character number 8    l
character number 9      

Hiç yorum yok:

Yorum Gönder