【書式】
#include <sys/types.h>
#include <sys/stat.h>
int fstat(int fd, struct stat *sbuf);
【解説】
fstat()はfdで指定されるファイルに関する情報をsbufが指すstruct stat型
構造体に格納します。struct stat型は<sys/stat.h>で定義されています。
DOS窓 環境下ではstruct statのうちの以下のフィールドのみが意味をもち
ます。
st_mode
ファイルのモード
st_dev
fdがファイルのときにはドライブ番号、デバイスのときにはfd
st_rdev
st_devと同じ
st_nlink
常に1
st_size
ファイルのサイズ
st_mtime
ファイルが最後に修正された時刻
st_atime
st_mtimeと同じ
st_ctime
st_mtimeと同じ
st_mtime, st_atime, st_ctimeはすべてtime_t型です。詳細はtime(3)を参
照してください。
st_modeをS_IFMTでマスクすると、次の情報が得られます。
S_IFCHR
キャラクタデバイス
S_IFREG
通常のファイル
st_modeにはユーザのアクセス許可ビットも示されます。
S_IREAD
読み出し許可
S_IWRITE
書き込み許可
fstat()では実行許可(S_IEXEC)は取得できません。
【リターン値】
成功したときには0を返します。失敗したときにはerrnoをセットして0 以外
の値を返します。
【エラー】
EBADF
ファイルハンドルが不正です
【可搬性】
UNIX, DOS窓
【参照】
stat(3), time(3)
【copyright (c) 安江正樹@東海大学理学部物理学科】