Giriş
Şu satırı dahil ederiz.
Elimizde şöyle bir kod olsun
Şu tarz kodlar doğru değil. Çünkü stdin FILE* olmasınra rağmen output stream değil.
Şu satırı dahil ederiz.
#include <stdio.h>
Açıklaması şöyle.Örnekint 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.
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