UNIX环境高级编程复习——文件和目录(5)

utime函数

我们需要知道UNIX文件有三个时间,分别是文件数据的最后访问时间(st_atime)、文件数据的最后修改时间(st_mtime)、文件的状态修改时间(st_ctime)。
一个文件的访问和修改时间可以用utime函数更改。
#include<utime.h>
int utime(const char *pathname,const struct utimebuf *times);
返回值:若成功则返回0,否则返回-1.
此函数所使用的数据结构是:
struct utimebuf {
   time_t  actime;//文件的访问时间
   time_t  modtime;//文件数据的修改时间
   }
时间 均是自1970年1月1日00:00:00以来国际标准时间所经过的秒数。
  • 如果times是一个空指针,则访问时间和修改时间两者都设置为当前的时间。为了执行此操作必须满足下列条件之一:进程的有效用户ID必须等于该文件的所有者ID;或者进程对该文件具有写权限。
  • 如果times是非空指针,则访问时间和修改时间两者被设置为times所指结构中的值。此时,进程的有效用户ID必须等于该文件的所有者ID,或者进程必须是一个超级进程用户进程。

mkdir和rmdir函数

mkdir函数创建目录,rmdir函数删除目录。
#include<sys/stat.h>
int mkdir(const char *pathname,mode_t mode);
返回值:若成功返回0,否则返回-1.

此函数创建一个新的空目录。其中,..和.目录是自动创建的。

rmdir函数可以删除一个空目录。空目录是只包含..和.这两个的目录。
#include<unistd.h>
int rmdir(const char *pathname);
返回值:若成功返回0,否则返回-1.

读目录

#include<dirent.h>
DIR *opendir(const char *pathname);
返回值:若成功返回指针,否则返回NULL。
struct dirent *readdir(DIR *dp);
返回值:若成功返回指针,若在目录结尾或出错返回NULL。
void rewinddir(DIR *dp);

int closedir(DIR *dp);
返回值:若成功返回0,否则返回-1.
long telldir(DIR *dp);
返回值:若成功返回与dp关联的目录中的当前位置。
void seekdir(DIR *dp,long loc);

头文件<dirent.h>中定义的dirent结构与实现有关。但至少包含以下两个成员:
struct dirent {
     ino_t  d_ino;
     char    d_name[NAME_MAX+1];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值