-
Functions HI-TECH C SETVBUF
提供: HI-TECH C for CP/M Fan WIKI(JP)
SETVBUF, SETBUF
概要
#include <stdio.h> int setvbuf(FILE * stream, char * buf, int mode, size_t size); void setbuf(FILE * stream, char * buf)
詳細
setvbuf()はSTDIOストリームのバッファのふるまいを変更します。これは広報互換性を保持しているsetbuf()を置き換えるものです。setvbuf()の引数は次の通りです。
streamは影響を受けるSTDIOストリームを指定します。bufはその後、このストリーム上すべてのI/O操作で使われるバッファへのポインタです。bufがヌルの場合、このルーチンは必要に応じてヒープから<stdio.h>のBUFSIZのサイズのバッファを割り当てます。modeは完全にバッファをオフにするために_IONBFの値を取ります。_IOFBFは、フルバッファリング、_IOLBFはラインバッファリング用です。入力が他のSTDIOストリームからリクエストされたときに、フルバッファリングは関連づけられたバッファが満たされたときにのみ、ラインバッファリングはそれぞれの行の最後で、フラッシュされるということを意味します。sizeは提供されるバッファのサイズです。以下は例です。
setvbuf(stdout, my_buf, _IOLBF, sizeof my_buf);
もしバッファが呼び出し元??によって与えられる場合、fclose()を超えて??バッファはストリームに関連づけられたままになり、setvbuf()がそれを変更するまでfopen()が呼び出します??
参照
fopen, freopen, fclose