共用方式為


_flushall

清除所有的資料流。 清除所有的緩衝區。

int _flushall( void );

傳回值

_flushall傳回開啟資料流 (輸入和輸出) 的數目。沒有任何錯誤傳回。

備註

預設情況下, _flushall函式寫入適當的檔案開啟的輸出資料流相關聯的所有緩衝區的內容。所有開啟的輸入資料流相關聯的緩衝區,會清除其目前的內容。(這些緩衝區通常定義檔案由作業系統,決定資料會自動寫入磁碟的最佳時機: 當緩衝區已滿時、 當關閉資料流,或當程式正常終止而毋需關閉資料流。)

如果讀取跟隨呼叫_flushall,新的資料會讀入從輸入檔的緩衝區。所有的資料流之後仍保持開啟的呼叫_flushall。

執行階段程式庫的 [認可到磁碟] 功能可讓您確保重要資料會直接存到磁碟,而不是作業系統緩衝區以寫入。不需重新撰寫現有程式,您可以藉由連結與 Commode.obj 程式的目的檔啟用此功能。在產生的可執行檔中,呼叫_flushall寫入磁碟中的所有緩衝區的內容。只有_flushall和fflush受到 Commode.obj。

控制認可到磁碟] 功能的相關資訊,請參閱資料流 I/Ofopen,以及 _fdopen

需求

Function

所需的標頭

_flushall

<stdio.h>

如需相容性資訊,請參閱相容性在簡介中。

範例

// 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 );
}
  

.NET Framework 對等用法

請參閱

參考

資料流 I/O

_commit

fclose _fcloseall

fflush

_flushall

setvbuf