Closed5
CSAPP 10章 システム・レベルI/O
UNIX I/Oの種類
- ファイルのオープン
- ファイル・ポジションの変更
- ファイルの読み書き
- ファイルのクローズ
ファイルポジションの変更
次の書き込み場所/読み込み場所を管理するためにファイルはお気セットを持つことができる。
lseekコマンド
UNIXにおけるファイルとは
まずファイルはテキストファイルとバイナリファイルに分かれる
テキストファイルとはascii文字またはUnicodeのみを含んだ通常ファイルである。
改行はLFで行われる
通常ファイル(レギュラーファイルとは)
Read関数について
ssize_t read(int fd, void *buf, size_t n)
戻り値: 成功なら読み込まれたバイト数, n==0かEOFなら0, エラーなら-1
もしサイズが20のfdがあったとして、第三引数のnが50だったときにread()を2回呼び出すとすると、
一回目に20(ファイルの上限バイト数)を返し、次に0(EOF)を返す。
リダイレクト処理
ls > foo.txt
上記のようなリダイレクト処理はdup2関数で実装されている。
dup2(int oldfd, int newfd);
oldfdの向き先をnewfdに変更する
このスクラップは2022/05/04にクローズされました