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

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

ungetc() fonksiyonu

Bildirim

int ungetc(int char, FILE *stream);

Açıklama

Eğer char parametresi ile gösterilen değer EOF'den farklı ise, char parametresindeki karakter değerini (unsigned char) akış ile ilgili belleğe geri gönderir.

Eğer char parametre değeri EOF'ye eşitse, işlem başarısız olur ve akış etkilenmez.

Fonksiyon çalıştığında, dosya aktif konumu bir önceki pozisyona geri döndürülür.

Parametreler

char : Akış belleğine geri gönderilecek olan karakter değeridir.

stream : Karakterin geri gönderileceği dosya akışını gösteren FILE işaretçi değeridir.

Dönüş değeri

Başarı durumunda char parametre değeri, hata durumunda ise EOF değeri geri döndürülür.

Örnek


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

int main (void)
{
    FILE *fp;
    int id;

    /* Dosyayı oluşturarak okuma ve yazma için açma */
    if ((fp = fopen ("dosya.txt", "w+")) == NULL) {
         printf("Dosya açma hatası!");
         exit(1);
    }

    fputs("Bilgisayar#Programlama", fp);

    rewind(fp);

    while (!feof(fp)) {
       id = fgetc(fp);
       if(id=='#') ungetc (' ', fp);
       else printf("%c", id);
    }

    fclose(fp);

    return 0;
}

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

Bilgisayar Programlama

Yukarıdaki program, yazma ve okuma modunda (w+) bir dosya oluşturarak dosyayı açar. Açtığı dosyaya fputs() fonksiyonu ile "Bilgisayar#Programlama" karakter dizisini yazar. Dosyayı baştan itibaren okuturken '#' karakteri ile karşılaştığında, yerine boşluk karakteri koyarak okunan karakteri akışa geri yollar.