- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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)