Unix I/O
打開文件-描述符
#define STDIN_FILENO 0 //標準輸入
#define STOUT_FILENO 1 //標準輸出 #define STDERR_FILENO 2
改變當前的文件位置
對於每個打開的文件,內核保存一個文件位置k,初始值爲0.文件位置是從文件開頭起始的offset
讀取元數據
stat以文件名填充stat結構體的各個成員;
fsstat已文件描述符;
int stat(const char *filename, struct stat *buf);
int fstat(int fd, struct stat *buf);
stat結構體:
struct stat {
mode_t st_mode; //文件對應的模式,文件,目錄等
ino_t st_ino; //inode節點號
dev_t st_dev; //設備號碼
dev_t st_rdev; //特殊設備號碼
nlink_t st_nlink; //文件的連接數
uid_t st_uid; //文件所有者
gid_t st_gid; //文件所有者對應的組
off_t st_size; //普通文件,對應的文件字節數
time_t st_atime; //文件最後被訪問的時間
time_t st_mtime; //文件內容最後被修改的時間
time_t st_ctime; //文件狀態改變時間
blksize_t st_blksize; //文件內容對應的塊大小
blkcnt_t st_blocks; //偉建內容對應的塊數量
};