Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

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

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

fsetpos() fonksiyonu

Bildirim

int fsetpos(FILE *stream, const fpos_t *pos);

Açıklama

Stream parametresi ile gösterilen akışın aktif dosya konumunu pos parametre değeri ile gösterilen değere ayarlar.

Parametreler

stream: Aktif konumu değiştirilecek akışı tanımlayan FILE nesnesi işaretçisidir.

pos: Dosya konum göstergesinin ayarlanacağı 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;
    char cdizi[11];

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

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

    fputs("Bilgisayar", fp);

    printf("Dosyanın aktif konumu: %ld\n", ftell(fp));
    fsetpos(fp, &pos); /* Dosya konumunu başa alır. */

    printf("Dosyanın aktif konumu: %ld\n", ftell(fp));
    fgets(cdizi, 11, fp);
    printf("Karakter dizisi: %s\n", cdizi);

    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
Dosyanın aktif konumu: 0
Karakter dizisi: Bilgisayar

Yukarıdaki program, yazma ve okuma modunda (w+) açtığı dosyanın konumunu fgetpos() fonksiyonu ile alır. Fputs() fonksiyonu ile bir karakter dizisini dosyaya yazdıktan sonra fsetpos() fonksiyonu ile dosya konumunu pos değişken değerini kullanarak programın başındaki konumuna getirir ve fgets() fonksiyonu ile dosyadan okuduğu karakter dizisini ekrana yazar.