fstat - ファイル情報の取得

【書式】

#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) 安江正樹@東海大学理学部物理学科】