功 能: 把緩衝區與流相關
用 法: int setvbuf(FILE *stream, char *buf, int type, unsigned size);
參數:stream :指向流的指針 ;
buf : 期望緩衝區的地址;
type : 期望緩衝區的類型:
_IOFBF(滿緩衝):當緩衝區為空時,從流讀入數據。或者當緩衝區滿時,向流寫入數 據。
_IOLBF(行緩衝):每次從流中讀入一行數據或向流中寫入一行數據。
_IONBF(無緩衝):直接從流中讀入數據或直接向流中寫入數據,而沒有緩衝區。
size : 緩衝區內位元組的數量。
注意:This function should be called once the file associated with the stream has already been opened but before any input or output operation has taken place.
意思是這個函式應該在打開流後,立即調用,在任何對該流做輸入輸出前
程式例:
#include <stdio.h>
int main(void)
{
FILE *input, *output;
char bufr[512];
input = fopen("file.in", "r+b");
output = fopen("file.out", "w");
/* set up input stream for minimal disk access,
using our own character buffer */
if (setvbuf(input, bufr, _IOFBF, 512) != 0)
printf("failed to set up buffer for input file\n");
else
printf("buffer set up for input file\n");
/* set up output stream for line buffering using space that
will be obtained through an indirect call to malloc */
if (setvbuf(output, NULL, _IOLBF, 132) != 0)
printf("failed to set up buffer for output file\n");
else
printf("buffer set up for output file\n");
/* perform file I/O here */
/* close files */
fclose(input);
fclose(output);
return 0;
}
相關詞條
-
setvbuf
函式名: setvbuf 功 能: 把緩衝區與流相關 用 法: int setvbuf(FILE *stream, char... character buffer */ if (setvbuf(input...
-
setlinebuf
: setbuffer,setbuf,setvbuf 表頭檔案: #include...設定檔案流以換行為依據的緩衝IO,即行緩衝。 相當於調用setvbuf...setvbuf()。 返回值:成功返回0,失敗返回任何非零值...
-
_flushall
、fclose、 _fcloseall、setvbuf程式示例下面這個例子來自...
函式簡介 程式示例 -
fflush(stdin)
丟失。當設定一個重要錯誤處理器時,最安全的是用setvbuf函式關閉緩衝...
注意 詳細解釋 定義 -
c語言標準函式館
assert.hvoid assert(int expression);Macro used for internal erro...
assert.h ctype.h errno.h float.h limits.h -
CUnit
;int i;setvbuf(stdout, NULL, _IONBF, 0...
簡介 結構框架 測試模式 測試流程 構成 -
標準函式
、freopen、setvbuf、remove、fileno、fdopen目錄操作...
C標準函式館 分類 -
fflush
,最安全的是用setvbuf函式關閉緩衝或者使用低級I/0例程,如open...
概述 函式說明 程式例子 返回值 其他用法