Bildirim
int fgetpos(FILE *stream, fpos_t *pos);
Açıklama
Akışın aktif dosya konumunu stream parametre değerinden alır ve pos parametre değişkenine yazar.
Parametreler
stream: Aktif konumu alınacak akışı tanımlayan FILE nesnesi işaretçisidir.
pos: Dosya konum göstergesinin yükleneceği fpos_t değişken işaretçidir.
Dönüş değeri
Başarı durumunda 0, aksi takdirde sıfır olmayan bir değer geri döndürülür.
Örnek
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
fpos_t pos;
int id;
if ((fp = fopen ("dosya.txt", "w+")) == NULL) {
printf("Dosya açma hatası!");
exit(1);
}
fgetpos(fp, &pos);
printf("Dosyanın aktif konumu: %ld\n", pos);
fputs("Bilgisayar", fp);
fgetpos(fp, &pos);
printf("Dosyanın aktif konumu: %ld\n", pos);
rewind(fp);
while ((id=getc(fp))!= EOF) { /* Dosya sonuna kadar (EOF) karakter karakter okuma işlemi */
printf("%c", id);
}
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 Bilgisayar
Yukarıdaki program, yazma ve okuma modunda (w+) açtığı dosyaya fputs() fonksiyonu ile yazdığı karakter dizisini dosyadan karakterleri fgetc() fonksiyonu ile tek tek okuyarak ekrana yazar.