當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C++ fflush()用法及代碼示例

C++ 中的fflush() 函數將所有緩衝數據刷新到相應的設備。

緩衝數據是在特定時間之前存儲在計算機物理內存中的臨時或應用程序特定數據。

fflush() 函數在<cstdio> 頭文件中定義。

fflush()原型

int fflush(FILE* stream);

如果stream 是輸出流或更新流,其最後一個操作是輸出的,則調用fflush() 函數會將任何緩衝的未寫入數據寫入關聯的輸出設備。

如果stream 是空指針,則刷新所有打開的輸出流。

對於輸入流和最後一次輸入操作的更新流,行為未定義。

參數:

  • stream :要刷新的流。

返回:

fflush() 函數返回:

  • 零成功。
  • EOF 失敗並設置文件流的錯誤指示器。

示例:fflush() 函數如何工作?

#include <cstdio>
#include <cstring>

int main()
{
	int x;
	char buffer[1024];

	setvbuf(stdout, buffer, _IOFBF, 1024);
	printf("Enter an integer - ");

	fflush(stdout);

	scanf("%d",&x);
	printf("You entered %d", x);

	return(0);
}

運行程序時,輸出將是:

Enter an integer - 2
You entered 2

在上麵的程序中,嘗試去掉fflush(stdout)這行,運行程序看看fflush的效果。除非刷新,否則字符串“Enter an integer -”不會被寫入屏幕。

相關用法


注:本文由純淨天空篩選整理自 C++ fflush()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。