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;     //伟建内容对应的块数量

      };


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