改めて、FILE型(FILE構造体)について調べていく。
Man page of FOPEN
Bioinformaticsのお勉強: ファイル記述子、ファイル型、ファイルポインタ、stdin、stdout、stderrについての考察
/usr/includeに移動してstdio.hを開く。
"FILE"で検索。
bits/typesの下にありそう。
FILE.hや__FILE.hやstruct_FILE.hにありそう。
FILE.hを見ると、
実態は、struct _IO_FILE。
__FILE.hを見ると、
こちらもstruct _IO_FILE。
struct_FILE.hを開いて、
_IO_FILEで検索すると、
これが本体っぽい・・・。
_filenoがファイルディスクリプタかな。
というわけで、_filenoを出力してみる。
fp->_filenoという感じでアクセスできて、ファイルディスクリプタの値だったら・・・。
$ vi FILE.c $ ls FILE FILE.c test.txt $ gcc FILE.c -o FILE $ ./FILE fp->_fileno = 3 $
0は標準入力、1は標準出力、2は標準エラー出力、で予約されているので、3が出てくるということは、これがファイルディスクリプタだろう。
Sample/c/FILE/FILE/src/FILE at master · bg1bgst333/Sample · GitHub