Aracılığıyla paylaş


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.

.NET Framework Eşdeğeri

System::IO::FileStream::Flush

Ayrıca bkz.

Başvuru

G/ç

fclose, _fcloseall

_flushall

setvbuf