为今天而努力的人很平凡,为昨天而努力的人叫失败,只有为美好明天而战斗不止才叫精彩!
分类: C/C++
2013-07-19 20:21:53
注:为什么要说目录文件?其实在linux中目录也是一种文件,只是它的内容是上级的目录和当前目录下的文件信息等,详情可以看看相关深入的书籍
opendir(打开目录)
|
|
相关函数 |
open,readdir,closedir,rewinddir,seekdir,telldir,scandir |
表头文件 |
#include #include |
定义函数 |
DIR * opendir(const char * name); |
函数说明 |
opendir()用来打开参数name指定的目录,并返回DIR*形态的目录流,和open()类似,接下来对目录的读取和搜索都要使用此返回值。 |
返回值 |
成功则返回DIR* 型态的目录流,打开失败则返回NULL。 |
错误代码 |
EACCESS 权限不足 EMFILE 已达到进程可同时打开的文件数上限。 ENFILE 已达到系统可同时打开的文件数上限。 ENOTDIR 参数name非真正的目录 ENOENT 参数name 指定的目录不存在,或是参数name 为一空字符串。 ENOMEM 核心内存不足。 |
readdir(读取目录) |
相关函数 |
open,opendir,closedir,rewinddir,seekdir,telldir,scandir |
表头文件 |
#include #include |
定义函数 |
struct dirent * readdir(DIR * dir); |
函数说明 |
readdir()返回参数dir目录流的下个目录进入点。 结构dirent定义如下 struct dirent { ino_t d_ino; ff_t d_off; signed short int d_reclen; unsigned char d_type; har d_name[256; }; d_ino 此目录进入点的inode d_off 目录文件开头至此目录进入点的位移 d_reclen _name的长度,不包含NULL字符 d_type d_name 所指的文件类型 d_name 文件名 |
返回值 |
成功则返回下个目录进入点。有错误发生或读取到目录文件尾则返回NULL。 |
附加说明 |
EBADF参数dir为无效的目录流。 |
closedir(关闭目录)
|
|
相关函数 |
opendir |
表头文件 |
#include #include |
定义函数 |
int closedir(DIR *dir); |
函数说明 |
closedir()关闭参数dir所指的目录流。 |
返回值 |
关闭成功则返回0,失败返回-1,错误原因存于errno 中。 |
错误代码 |
EBADF 参数dir为无效的目录流 |
范例 |
参考readir()。 |
下面我们开发一个小程序,这个程序有一个参数.如果这个参数是一个文件名,我们输出这
个文件的大小和最后修改的时间,如果是一个目录我们输出这个目录下所有文件的大小和
修改时间.
点击(此处)折叠或打开
int _access( const char *path, int mode );
Return Value
Each of these functions returns 0 if the file has the given mode. The function returns –1 if the named file does not exist or is not accessible in the given mode; in this case, errno is set as follows:
EACCES
Access denied: file’s permission setting does not allow specified access.
ENOENT
Filename or path not found.
Parameters
path
File or directory path
mode
Permission setting
Remarks
When used with files, the _access function determines whether the specified file exists and can be accessed as specified by the value of mode. When used with directories, _access determines only whether the specified directory exists; in Windows NT, all directories have read and write access.
mode Value Checks File For
00 Existence only
02 Write permission
04 Read permission
06 Read and write permission
点击(此处)折叠或打开