日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
SETBUF(3) FreeBSD ライブラリ関数マニュアル SETBUF(3) 名称 setbuf, setbuffer, setlinebuf, setvbuf -- ストリームのバッファリング操作 ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <stdio.h> void setbuf(FILE * restrict stream, char * restrict buf); void setbuffer(FILE *stream, char *buf, int size); int setlinebuf(FILE *stream); int setvbuf(FILE * restrict stream, char * restrict buf, int mode, size_t size); 解説 利用可能な 3 つのタイプのバッファリングは、バッファリングされない、ブロッ ク単位のバッファリングと行単位のバッファリングです。出力ストリームがバッ ファリングされないとき、情報は、書き込まれるとすぐに、目的のファイルまた は端末に現われます。ブロック単位のバッファリングのとき、多くの文字は、保 存され、ブロックとして書き込まれます。行単位のバッファリングのとき、改行 が出力されるか、または入力が端末デバイス (一般的に stdin) にアタッチされ るあらゆるストリームから読み込まれるまで、文字は、保存されます。関数 fflush(3) は、強制的に早くブロックを出力するために使用されます。 (fclose(3) を参照。) 通常、すべてのファイルは、バッファをブロック単位でバッファリングされま す。最初の I/O 操作がファイルで起こるとき、malloc(3) が呼び出され、最適な サイズのバッファが取得されます。ストリームが端末 (stdout が通常行うよう に) を参照するなら、それは、行単位でバッファリングされます。標準エラース トリーム stderr は、常にバッファリングされません。これらのデフォルトは、 stdbuf(1) ユーティリティを使用して変更されるかもしれないことに注意してく ださい。 setvbuf() 関数は、ストリームのバッファリングの振る舞いを変更するために使 用されます。mode 引数は、次の 3 つのマクロの 1 つでなければなりません: _IONBF バッファリングされない _IOLBF 行単位のバッファリング _IOFBF 完全なバッファリング size 引数は、いつものとおり、延期された最適なサイズのバッファ割り付けを取 得するために、0 として与えられます。それが 0 でないなら、バッファリングさ れないファイルを除いて、buf 引数は、少なくとも size バイトのバッファを指 すべきです。このバッファは、現在のバッファの代わりに使用されます。buf が NULL でないなら、ストリームをクローズした後に、このバッファを free(3) (解 放) するのは呼び出し側の責任です。(size 引数が 0 ではないが、buf が NULL であるなら、与えられたサイズのバッファは、直ちに割り付けられ、クローズで 解放されます。これは、ANSI C の拡張です。移植性のあるコードは、任意の NULL バッファで 0 のサイズを使用するべきです。) setvbuf() 関数は、いつでも使用できますがが、ストリームが ``アクティブ'' であるなら、(入力を廃棄するか、または出力をフラッシュするような) 特有の副 作用があるかもしれません。移植性のあるアプリケーションは、あらゆる I/O が 実行される前に、任意の与えられたストリームで一度だけ呼び出されるべきで す。 他の 3 つの呼び出しは、実質的に、setvbuf() への呼び出しのための単なる別名 です。返り値がないことを除いて、setbuf() 関数は、次の呼び出しと正確に同等 です。 setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ); setbuffer() 関数は、デフォルトの BUFSIZ によって決定されるのではなく、 バッファのサイズが呼び出し側の責任であることを除いて、同じです。 setlinebuf() 関数は、次の呼び出しと正確に同等です: setvbuf(stream, (char *)NULL, _IOLBF, 0); 戻り値 setvbuf() 関数は、成功すれば、0 を返し、要求を引き受けることができないな ら、EOF を返します (この場合、ストリームが、まだ機能していることに注意)。 setlinebuf() 関数は、同等の setvbuf() が返したものを返します。 関連項目 stdbuf(1), fclose(3), fopen(3), fread(3), malloc(3), printf(3), puts(3) 規格 setbuf() と setvbuf() 関数は、ISO/IEC 9899:1990 (``ISO C90'') に適合して います。 バグ setbuf() は、通常次善のバッファサイズを使用し、回避されるべきです。 FreeBSD 11.4 February 18, 2013 FreeBSD 11.4