1. ホーム

S_ISREG S_ISDIR およびその他いくつかの共通マクロ

2022-02-15 18:42:45

から取得した。 http://blog.csdn.net/dssxk/article/details/6793370


S_ISLNK(st_mode):接続であるかどうか。
S_ISREG(st_mode) : 通常のファイルであるかどうか。
S_ISDIR(st_mode) : それがディレクトリであるかどうか
S_ISCHR(st_mode) : キャラクタデバイスであるかどうか。
S_ISBLK(st_mode): ブロックデバイスであるかどうか。
S_ISFIFO(st_mode): FIFOファイルであるかどうか。
S_ISSOCK(st_mode): SOCKETファイルであるかどうか。 
man 2 stat は stat データ構造を検索することができ、st_mode は上記のマクロの入力パラメータです。
構造体Stat { <未定義
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
<スパン nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
off_t st_size;
blksize_t st_blksize;
blkcnt_t st_blocks;
time_t st_mtime;
time_t st_ctime;
};
man 2 stat は、次の関数定義にもあります。この関数は、指定したファイル(フォルダ)の stat 情報を取得し、上記のマクロを呼び出して、そのファイル(フォルダ)の属性(通常のファイルかどうか、ディレクトリかどうか ......)を判断するために使用されます。
int stat(const char *path, struct stat *buf)