Unix 系統級I/O

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;     //偉建內容對應的塊數量

      };


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章