_flushall
Tüm akışları temizler; tüm arabellekleri temizler.
Sözdizimi
int _flushall( void );
Dönüş değeri
_flushall
, açık akış sayısını (giriş ve çıkış) döndürür. Hata döndürme yok.
Açıklamalar
Varsayılan olarak, _flushall
işlev açık çıkış akışlarıyla ilişkili tüm arabelleklerin içeriğini uygun dosyalara yazar. Açık giriş akışlarıyla ilişkili tüm arabellekler geçerli içeriklerinden temizlenir. (Bu arabellekler normalde işletim sistemi tarafından korunur ve bu da verileri diske otomatik olarak yazmanın en uygun zamanını belirler: arabellek dolduğunda, akış kapatıldığında veya bir program akışları kapatmadan normal şekilde sonlandırıldığında.)
Okuma işlemi çağrısına _flushall
uyarsa, giriş dosyalarından arabelleklere yeni veriler okunur. çağrısından _flushall
sonra tüm akışlar açık kalır.
Çalışma zamanı kitaplığının diske işleme özelliği, kritik verilerin işletim sistemi arabellekleri yerine doğrudan diske yazıldığından emin olmanıza olanak tanır. Mevcut bir programı yeniden yazmadan, programın nesne dosyalarını Commode.obj bağlayarak bu özelliği etkinleştirebilirsiniz. Sonuçta elde edilen yürütülebilir dosyada, diske tüm arabelleklerin içeriğini yazmak için _flushall
çağrılar. Yalnızca _flushall
ve fflush
Commode.obj etkilenir.
Diske işleme özelliğini denetleme hakkında bilgi için bkz . Akış G/Ç, fopen
ve _fdopen
.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
İşlev | Gerekli başlık |
---|---|
_flushall |
<stdio.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// crt_flushall.c
// This program uses _flushall
// to flush all open buffers.
#include <stdio.h>
int main( void )
{
int numflushed;
numflushed = _flushall();
printf( "There were %d streams flushed\n", numflushed );
}
There were 3 streams flushed