1 Ekim 2018 Pazartesi

fflush metodu

Giriş
Şu satırı dahil ederiz.
#include <stdio.h>
Açıklaması şöyle.
int fflush(FILE *ostream);
ostream points to an output stream or an update stream in which the most recent operation was not input, the fflush function causes any unwritten data for that stream to be delivered to the host environment to be written to the file; otherwise, the behavior is undefined.
Örnek
Elimizde şöyle bir kod olsun
int main(int argc, char ** argv) {
  printf("this is a test message.\n");
  system("ls");

  return 0;
}
Bunu şöyle çalıştıralım. Çıktının karışık sırada geldiğini görebiliriz.
myprogram > output.txt
Çıktı olarak şunu alırız.
$ ./main > foo
$ cat foo
main
main.c
this is a test message.
Araya fflush koyalım.
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char ** argv) {
  printf("this is a test message.\n");
  fflush(stdout);
  system("ls");

  return 0;
}
Çıktı olarak şunu alırız.
$ ./main > foo
$ cat foo
this is a test message.
foo
main
main.c
Output Stream'i Olmayan Kodlar
Şu tarz kodlar doğru değil. Çünkü stdin FILE* olmasınra rağmen output stream değil.
fflush(stdin);

Hiç yorum yok:

Yorum Gönder