Bildirim
int fflush(FILE *stream);
Açıklama
Çıkış akışları için, akışın arabelleğindeki yazılmamış veriyi ilgili çıkış aygıtına yazar.
Eğer stream parametre değeri NULL ise, fflush() fonksiyonu programın tüm açık akışlarının çıktı tamponlarını temizler.
Parametreler
stream: Yazılacak dosya akışını tanımlayan FILE nesnesi işaretçisidir.
Dönüş değeri
Başarı durumunda 0 değeri geri döndürülür. Hata oluşursa, EOF değeri geri döndürülür ve hata göstergesi ayarlanır.
Örnek
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(void)
{
FILE *fp;
char cdizi[20];
int id;
if ((fp = fopen ("dosya.txt", "w+")) == NULL) {
printf("Dosya açma hatası!");
exit(1);
}
fputs("B2ilg3isa5yar", fp);
rewind(fp);
if (fgets(cdizi, 20, fp)) printf("%s\n", cdizi);
rewind(fp);
while ((id=getc(fp))!= EOF) { /* Dosya sonuna kadar (EOF) karakter karakter okuma işlemi */
if (isdigit(id)) { /* Eğer bir sayı ise */
fseek(fp, -1, SEEK_CUR); /* Sayı değerinin olduğu yere dönüş */
fputc('A', fp); /* A karakteri ile değiştirme */
fflush(fp); /* Akış belleğini temizleme */
}
}
rewind(fp);
if (fgets(cdizi, 20, fp)) printf("%s", cdizi);
fclose(fp);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:
B2ilg3isa5yar BAilgAisaAyar
Yukarıdaki program, yazma ve okuma modunda (w+) açtığı dosyaya yazdığı harf ve rakam içeren karakter dizisini önce herhangi bir işlem yapmadan doğrudan dosyadan okuyarak ekrana yazar. Sonra dosyadan karakterleri tek tek okuyarak ve rakam olan değerleri A karakteri ile değiştirdikten sonra dosyaya kaydeder. Dosya içeriğini tekrar ekrana yazar.