码迷,mamicode.com
首页 > 其他好文 > 详细

unix环境高级编程笔记(6)—— 文件和目录(3)

时间:2014-12-03 15:38:50      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   os   使用   sp   on   文件   div   log   

这一节主要是讲目录的操作,涉及创建目录、删除目录、读取目录等

1 mkdir 和 rmdir

用mkdir创建目录,用rmdir删除目录。

#include <sys/stat.h>
int mkdir(const char *pathname,mode_t mode);
                                                    成功返回0,出错返回-1.

此函数创建一个新的空目录,. 和.. 自动创建,文件访问权限mode由进程的文件模式创建屏蔽字进行修改。(必须指定一个执行权限位)

#include <unistd.h>
int rmdir(const char *pathname);
                                      成功返回0,出错返回-1.

此函数删除一个空目录。如果函数使目录的链接计数为0,且没有进程打开此目录,则释放目录所占的空间。

2 读目录

对目录具有访问权限的任何用户都可以读目录,但是,只有内核才可以写目录。

#include <dirent.h>
DIR *opendir(const char *pathname);
                                        成功返回指针,出错返回NULL。
struct dirent *readdir(DIR *dp);
                                        成功返回指针,出错返回NULL。
void rewinddir(DIR *dp);
int closedir(DIR *dp);
                                        成功返回0,出错返回NULL。
long telldir(DIR *dp);
                                        返回值:与dp关联的目录中的当前位置。
void seekdir(DIR *dp,long loc);
    

dirent 结构在<dirent.h>中定义。

struct dirrent {

    ino_t d_ino;

    char d_name[NAME_MAX + 1];

 };

DIR 是一个内部结构,上述六个函数用这个内部结构保存当前正在被读的目录的有关信息。

由opendir返回的指向DIR结构的指针供另外5个函数使用,opendir执行初始化操作,使第一个readdir读目录的第一个目录项。且各个目录项的顺序一般不按字母顺序排列。

 

unix环境高级编程笔记(6)—— 文件和目录(3)

标签:blog   ar   os   使用   sp   on   文件   div   log   

原文地址:http://www.cnblogs.com/avengervirus/p/4109250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!