標準IOライブラリ知識点百問「APUE」chapter-5
1-標準IOライブラリで提供される3種類のbuffering: Fully buffered(フルバッファ) Line buffered(ラインバッファ) unbuffered(バッファなし):典型的な標準エラーフロー 2-ロー・バッファで発生する2つの問題:新しい行記号に出会う前にbuffer を埋め尽くしたすべてのline-bufferedおよび になる.
3-3つの標準ストリームはどのbufferingを採用していますか.標準errorは常に 標準input/outputは です
4-開いたストリームには、3つの非形式IO(unformated IO):
5-
6-一般ファイルのバッファモード?
デフォルトのフルバッファ
7-テンポラリ・ファイルにはどのような呼び出しがありますか?
tmpnam,tempnam tmpfile, mkstemp
8-tmpname,tempnameの欠点?
一意のpathnameを返すのと、このpathnameで一時ファイルを作成するのとの間に隙間があります.他のプロセスは、ギャップ内に同じpathnameでファイルを作成する可能性があります.これは深刻な結果をもたらす.
unbuffered
stream入力要求はflush
line-bufferedの出力ストリーム3-3つの標準ストリームはどのbufferingを採用していますか.
unbuffered
terminal device
のときline buffered
である.そうでなければfully buffered
4-開いたストリームには、3つの非形式IO(unformated IO):
Character-at-a-time I/O
. We can read
or write
one character at a time. Line-at-a-time I/O.
If we want to read
or write
a line at a time, we use fgets and fputs. Direct I/O
(binary I/O). This type of I/O is supported by the fread
and fwrite
functions. These two functions are often used for binary files
where we read or write a structure with each operation. 5-
getc
とfgetc
の違いは?注意点は?getc
マクロfgetc
関数1.getc
のパラメータは必ず副作用のある式2ではない.fgetc
のアドレスを用いる、関数ポインタとして他のfunction 3に伝達することができる.呼び出しfgetc
が消費する時間はgetc
より長い6-一般ファイルのバッファモード?
デフォルトのフルバッファ
7-テンポラリ・ファイルにはどのような呼び出しがありますか?
tmpnam,tempnam tmpfile, mkstemp
8-tmpname,tempnameの欠点?
一意のpathnameを返すのと、このpathnameで一時ファイルを作成するのとの間に隙間があります.他のプロセスは、ギャップ内に同じpathnameでファイルを作成する可能性があります.これは深刻な結果をもたらす.