fflush
Bir akış temizler.
int fflush(
FILE *stream
);
Parametreler
- stream
İşaretçi FILE yapısı.
Dönüş Değeri
fflushArabellek başarıyla temizlendi, 0 değerini döndürür.0 Değeri, belirtilen stream arabellek yok olan veya yalnızca okumak için açık olduğu durumlarda da döndürülür.Dönüş değeri EOF bir hata olduğunu gösterir.
[!NOT]
fflush Döndüren EOF, veri yazma hatası nedeniyle kaybolmuş olabilir.Kritik hata işleyicisi ayarlarken, arabelleğe alma ile devre dışı bırakmak güvenli setvbuf işlevi veya alt düzey g/Ç yordamlar gibi kullanmak için _open, _close, ve _write g/ç işlevleri yerine.
Notlar
fflush İşlevi bir akış temizler.Dosya ile ilişkilendirilmiş, stream output için açık fflush akışı ile ilişkili arabelleğin içindekileri o dosyaya yazar.Akış için Giriş açıksa, fflush tampon içeriğini temizler.fflushönceki herhangi bir çağrı etkisini olumsuzlar ungetc karşı stream.Ayrıca, fflush(NULL) çıkış için açılmış olan tüm akış temizler.Akış çağrısından sonra açık kalır.fflushunbuffered bir akış üzerinde hiçbir etkisi yoktur.
Arabellekleri normalde verileri otomatik olarak diske yazmak için en iyi zamanı belirler işletim sistemi tarafından tutulan: arabelleği doluysa, bir akış kapatıldığında veya ne zaman bir program akışı kapatmanıza gerek kalmadan erer.Çalışma Zamanı Kitaplığı'nın diske kaydetme özelliği önemli veriler işletim sistemi arabelleklerinin yerine doğrudan diske yazıldığından emin olun sağlar.Varolan bir programı tekrar olmadan program nesne dosyaları commode.obj ile bağlayarak bu özelliği etkinleştirebilirsiniz.Elde edilen yürütülebilir dosya için çağırdığı _flushall tüm arabelleklerinin içeriğini diske yazma.Yalnızca _flushall ve fflush commode.obj tarafından etkilenir.
Diske kaydetme özelliği denetleme hakkında daha fazla bilgi için bkz: Akımı g/Ç, fopen, ve _fdopen.
Bu işlev iş parçasıyla kilitler ve bu nedenle thread-safe.Kilitleme olmayan bir sürümü için bkz: _fflush_nolock.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
fflush |
<stdio.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// crt_fflush.c
#include <stdio.h>
#include <conio.h>
int main( void )
{
int integer;
char string[81];
// Read each word as a string.
printf( "Enter a sentence of four words with scanf: " );
for( integer = 0; integer < 4; integer++ )
{
scanf_s( "%s", string, sizeof(string) );
printf( "%s\n", string );
}
// You must flush the input buffer before using gets.
// fflush on input stream is an extension to the C standard
fflush( stdin );
printf( "Enter the same sentence with gets: " );
gets_s( string, sizeof(string) );
printf( "%s\n", string );
}
Bu bir sınamadır. Bu bir sınamadır
This is a test Bu bir sınamadır scanf ile dört sözcüklerden oluşan bir tümce girin: Bu bir sınamadır. Bu İş bir test Alır ile aynı cümle girin: Bu bir sınamadır. Bu bir sınamadır.