03--Linux目录及文件.pptVIP

  • 1
  • 0
  • 约2.93千字
  • 约 10页
  • 2017-06-03 发布于湖北
  • 举报
Linux目录与文件 主讲: 目录操作 打开目录:opendir DIR *opendir(const char *name); 读取目录:readdir struct dirent *readdir(DIR *dir); 关闭目录:closedir int closedir(DIR *dir); 打开目录 #include sys/types.h #include dirent.h DIR *opendir(const char *name); 功能:opendir()用来打开参数name指定的目录,并返回DIR*形态的目录流。 返回值:成功返回目录流,失败返回NULL 读取目录 #include sys/types.h #include dirent.h struct dirent *readdir(DIR *dir); 功能:readdir()返回参数dir目录流的下个目录的进入点。 返回值:成功返回结构体指针,错误返回NULL。 结构说明: struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* offset to the next dirent */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file */ char d_name[256]; /* filename */ }; 关闭目录 #include sys/types.h #include dirent.h int closedir(DIR *dir); 功能:closedir()关闭dir所指的目录流。 返回值:成功返回0,失败返回-1,错误原因存在errno中。 文件属性 #include sys/types.h #include sys/stat.h #include unistd.h int stat(const char *path, struct stat *buf); 功能:查看文件或目录属性 返回值:成功返回0,错误返回-1 stat()函数用来将参数path所指的文件状态复制到参数buf所指的结构中. struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device ID (if special file) */ off_t st_size; /* total size, in bytes */ blksize_t st_blksize; /* blocksize for filesystem I/O */ blkcnt_t st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last status change */ }; 文件类型 宏 文件类型 S _ I S R

文档评论(0)

1亿VIP精品文档

相关文档