欢迎来到天天文库
浏览记录
ID:51488822
大小:1.19 MB
页数:18页
时间:2020-03-24
《嵌入式Linux高级编程--02posix_目录操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式Linux高级编程Linux目录与文件王莉目录操作打开目录:opendirDIR*opendir(constchar*name);读取目录:readdirstructdirent*readdir(DIR*dir);关闭目录:closedirintclosedir(DIR*dir);打开目录#include#includeDIR*opendir(constchar*name);功能:opendir()用来打开参数name指定的目录,并返回DIR*形态的目录流。返回值:成功返回目录流,失败返回NUL
2、L读取目录#include#includestructdirent*readdir(DIR*dir);功能:readdir()返回参数dir目录流的下个目录的进入点。返回值:成功返回结构体指针,错误返回NULL。结构说明:structdirent{ino_td_ino;/*inodenumber*/off_td_off;/*offsettothenextdirent*/unsignedshortd_reclen;/*lengthofthisrecord*/unsignedchard_type;/*ty
3、peoffile*/chard_name[256];/*filename*/};关闭目录#include#includeintclosedir(DIR*dir);功能:closedir()关闭dir所指的目录流。返回值:成功返回0,失败返回-1,错误原因存在errno中。#include#include#include#includeintmain(void){DIR*dir;structdirent*dp;intcount
4、;if((dir=opendir(“/root"))==NULL){perror("opendir");exit(1);}count=0;while((dp=readdir(dir))!=NULL){//每次读取当前目录下的一个文件printf("%s",dp->d_name);count++;}closedir(dir);return0;}作业把/root目录生成一个文件,文件内容就是该目录下的所有文件及目录名文件属性#include#include#includeint
5、stat(constchar*path,structstat*buf);功能:查看文件或目录属性返回值:成功返回0,错误返回-1stat()函数用来将参数path所指的文件状态复制到参数buf所指的结构中.structstat{dev_tst_dev;/*IDofdevicecontainingfile*/ino_tst_ino;/*inodenumber*/mode_tst_mode;/*protection*/nlink_tst_nlink;/*numberofhardlinks*/uid_tst_uid;/*userIDofowner*/g
6、id_tst_gid;/*groupIDofowner*/dev_tst_rdev;/*deviceID(ifspecialfile)*/off_tst_size;/*totalsize,inbytes*/blksize_tst_blksize;/*blocksizeforfilesystemI/O*/blkcnt_tst_blocks;/*numberofblocksallocated*/time_tst_atime;/*timeoflastaccess*/time_tst_mtime;/*timeoflastmodification*/tim
7、e_tst_ctime;/*timeoflaststatuschange*/};intfstat(intfiledes,structstat*buf);intlstat(constchar*pathname,structstat*buf);stat函数返回一个与此命名文件有关的信息结构,fstat函数获得已在描述符filedes上打开的文件的有关信息。lstat函数类似于stat,但是当命名的文件是一个符号连接时,lstat返回该符号连接的有关信息,而不是由该符号连接引用的文件的信息。文件类型宏文件类型S_ISREG()普通文件S_ISDIR()
8、目录文件S_ISCHR()字符特殊文件S_ISBLK()块特殊文件S_ISFIFO()管道或FIFOS_ISLNK()符号连接(POSI
此文档下载收益归作者所有