-.\"
-.\" Japanese Version Copyright (c) 1999 ishikawa, keisuke
-.\" all rights reserved.
-.\" Translated Thu Jan 7 00:03:12 JST 1999
-.\" by ishikawa, keisuke <ishikawa@sgk.gr.jp>
-.\" Updated Sat May 19 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
-.\" Updated & Modified Sun Jul 1 15:48:32 JST 2001
-.\" by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\"
.\" Copyright (c) 1980, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
.\" Correction, 2000-03-03, Andreas Jaeger <aj@suse.de>
.\" Added return value for setvbuf, aeb,
.\"
-.TH SETBUF 3 2008-06-26 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SETBUF 3 2008\-06\-26 Linux "Linux Programmer's Manual"
.SH 名前
setbuf, setbuffer, setlinebuf, setvbuf \- ストリームのバッファリングの操作
.SH 書式
.nf
-.B #include <stdio.h>
+\fB#include <stdio.h>\fP
-.BI "void setbuf(FILE *" stream ", char *" buf );
+\fBvoid setbuf(FILE *\fP\fIstream\fP\fB, char *\fP\fIbuf\fP\fB);\fP
-.BI "void setbuffer(FILE *" stream ", char *" buf ", size_t " size );
+\fBvoid setbuffer(FILE *\fP\fIstream\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIsize\fP\fB);\fP
-.BI "void setlinebuf(FILE *" stream );
+\fBvoid setlinebuf(FILE *\fP\fIstream\fP\fB);\fP
-.BI "int setvbuf(FILE *" stream ", char *" buf ", int " mode \
-", size_t " size );
+\fBint setvbuf(FILE *\fP\fIstream\fP\fB, char *\fP\fIbuf\fP\fB, int \fP\fImode\fP\fB, size_t \fP\fIsize\fP\fB);\fP
.fi
.sp
.in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
.in
.sp
-.BR setbuffer (),
-.BR setlinebuf ():
-_BSD_SOURCE
+\fBsetbuffer\fP(), \fBsetlinebuf\fP(): _BSD_SOURCE
.SH 説明
-バッファリングには unbuffered, block buffered, line buffered の3つのタイプが
-ある。出力ストリームのタイプが unbuffered の場合、データを書き込むとすぐに出
-力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、文
-字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、
-新しい行が出力されるか、ターミナルデバイスに接続しているストリーム
-(通常、\fIstdin\fP) から新しい行が入力されるまで文字がたくわえられる。
-ブロックを強制的に出力するには
-.BR fflush (3)
-関数を使う。
-.RB ( fclose (3)
-を参照のこと) 通常、ファイルはすべて block buffered である。ファイルに対して
-初めて入出力処理を行うと
-.BR malloc (3)
-が呼び出されバッファが獲得される。もし ストリームが (通常、
-.I stdout
-がそうであるように) ターミナルを参照する場合には、ファイルは line buffered と
-なる。標準エラー出力
-.I stderr
-はデフォルトでは常に unbuffered である。
+バッファリングには unbuffered, block buffered, line buffered の3つのタイプが ある。出力ストリームのタイプが
+unbuffered の場合、データを書き込むとすぐに出 力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、文
+字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新しい行が出力されるか、ターミナルデバイスに接続しているストリーム
+(通常、\fIstdin\fP) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的に出力するには \fBfflush\fP(3) 関数を使う。
+(\fBfclose\fP(3) を参照のこと) 通常、ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行うと
+\fBmalloc\fP(3) が呼び出されバッファが獲得される。もし ストリームが (通常、 \fIstdout\fP がそうであるように)
+ターミナルを参照する場合には、ファイルは line buffered と なる。標準エラー出力 \fIstderr\fP はデフォルトでは常に
+unbuffered である。
.PP
-.BR setvbuf ()
-関数は、オープンしている任意のストリームに対してバッファを変更できる。
-引き数
-.I mode
-は、次の 3 つのマクロのうちいずれかである:
+\fBsetvbuf\fP() 関数は、オープンしている任意のストリームに対してバッファを変更できる。 引き数 \fImode\fP は、次の 3
+つのマクロのうちいずれかである:
.RS
-.TP
-.B _IONBF
+.TP
+\fB_IONBF\fP
unbuffered
-.TP
-.B _IOLBF
+.TP
+\fB_IOLBF\fP
line buffered
-.TP
-.B _IOFBF
+.TP
+\fB_IOFBF\fP
fully buffered
.RE
.PP
-unbuffered のファイルを除き、
-.I buf
-引数は
-.I size
-バイト以上の大きさのバッファを指していなければならない。このバッファは現在の
-バッファの代わりに用いられる。もし、引数
-.I buf
-が NULL ならば、モードだけが変更される。
-新しいバッファは次に読み書きした際に割り当てられる。
-.BR setvbuf ()
-関数は、ストリームをオープンした後、
+unbuffered のファイルを除き、 \fIbuf\fP 引数は \fIsize\fP
+バイト以上の大きさのバッファを指していなければならない。このバッファは現在の バッファの代わりに用いられる。もし、引数 \fIbuf\fP が NULL
+ならば、モードだけが変更される。 新しいバッファは次に読み書きした際に割り当てられる。 \fBsetvbuf\fP() 関数は、ストリームをオープンした後、
そのストリームに対して何らかの操作をする前にのみ使用できる。
.PP
-他の 3 つの関数は
-.BR setvbuf ()
-の呼び出しに単純に置き換えることができる。
-.BR setbuf ()
-関数は、
+他の 3 つの関数は \fBsetvbuf\fP() の呼び出しに単純に置き換えることができる。 \fBsetbuf\fP() 関数は、
.PP
.in +4n
setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
-
.in
-と全く同等だし、
-.BR setbuffer ()
-関数は、バッファサイズがデフォルト値
-.B BUFSIZ
-ではなく引数で与えられる点以外は同じである。
-.BR setlinebuf ()
-関数は
+.PP
+と全く同等だし、 \fBsetbuffer\fP() 関数は、バッファサイズがデフォルト値 \fBBUFSIZ\fP ではなく引数で与えられる点以外は同じである。
+\fBsetlinebuf\fP() 関数は以下と同じである。
.PP
.in +4n
setvbuf(stream, (char *) NULL, _IOLBF, 0);
-
.in
-と同じである。
.SH 返り値
-.BR setvbuf ()
-関数は、成功した場合 0 を返す。
-失敗した場合、0 以外の値を返す
-(失敗とは、
-.I mode
-が不正な場合またはリクエストが条件を満たさない場合である)。
-.BR setvbuf ()
-関数が失敗した場合は
-.I errno
-を設定することもある。
+\fBsetvbuf\fP() 関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す (失敗とは、 \fImode\fP
+が不正な場合またはリクエストが条件を満たさない場合である)。 \fBsetvbuf\fP() 関数が失敗した場合は \fIerrno\fP を設定することもある。
その他の関数は値を返さない。
.SH 準拠
-.BR setbuf ()
-関数および
-.BR setvbuf ()
-関数は C89 と C99 に準拠している。
+\fBsetbuf\fP() 関数および \fBsetvbuf\fP() 関数は C89 と C99 に準拠している。
.SH バグ
-.BR setbuffer ()
-関数および
-.BR setlinebuf ()
-関数は 4.2BSD より前の BSD とは互換性がない。また Linux でも(古いバージョン
-では)利用できないかもしれない。4.2BSD および 4.3BSD のシステムでは
-.BR setbuf ()
+\fBsetbuffer\fP() 関数および \fBsetlinebuf\fP() 関数は 4.2BSD より前の BSD とは互換性がない。また Linux
+でも(古いバージョン では)利用できないかもしれない。4.2BSD および 4.3BSD のシステムでは \fBsetbuf\fP()
は必ず追加のバッファーのサイズを使用するので、これも使うべきでない。
.P
-.I stream
-を閉じる時 (プログラムを終了する際にもこれは起きる) には、
-.I buf
-が指し示す空間とが存在していることを保証しなければならない。
-例えば、次のような使い方は許されない:
+\fIstream\fP を閉じる時 (プログラムを終了する際にもこれは起きる) には、 \fIbuf\fP
+が指し示す空間とが存在していることを保証しなければならない。 例えば、次のような使い方は許されない:
.nf
.sp
#include <stdio.h>
{
char buf[BUFSIZ];
setbuf(stdin, buf);
- printf("Hello, world!\\n");
+ printf("Hello, world!\en");
return 0;
}
.fi
.SH 関連項目
-.BR fclose (3),
-.BR fflush (3),
-.BR fopen (3),
-.BR fread (3),
-.BR malloc (3),
-.BR printf (3),
-.BR puts (3)
+\fBfclose\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBmalloc\fP(3),
+\fBprintf\fP(3), \fBputs\fP(3)