Linux——文件(3)

一、文件属性,目录  inode,name   

  1. 1,打开目标目录 
  2. 2.读取目录  
  3. 3.关闭目录 

目录当文件看,只不过操作函数和操作文件函数不一样。

二、目录函数


1.opendir()

DIR *opendir(const char *name);
功能:
    打开一个目录获得一个目录流指针
参数:
    name:目录名
返回值:
    成功返回目录流指针
    失败返回NULL

2.readdir()


struct dirent *readdir(DIR *dirp);
功能:
    从目录流中读取文件信息并将保存信息的结构体
    地址返回
参数:
    dirp:目录流指针
返回值:
    包含文件信息的结构体
    出错或者读到目录流末尾返回NULL

3、closedir()


 int closedir(DIR *dirp);
 功能:关闭之前已经打开的目录流对象
 参数:opendir的返回结果中目录流对象
 返回值:成功  0
               失败   -1;

4.chdir()


chdir ("/home/linux"); "../../"
fopen("1.mp4")
int chdir(const char *path);// /home/linux
功能:
    改变当前程序的工作路径
参数:
    path:改变到的路径
返回值:
    成功返回0
    失败返回-1

5.getcwd()


char *getcwd(char *buf, size_t size);
功能:
    获得当前的工作路径
参数:
    buf:保存工作路径空间的首地址
    size:保存路径空间的长度
返回值:
    成功返回包含路径空间的字符串首地址
    失败返回NULL

5.mkdir()


int a  =200;
int mkdir(const char *pathname, mode_t mode);//777  666 --x--x--x
功能:
    创建一个目录
    666-
参数:
    pathname:路径
    mode:
        mode & ~umask  0002
返回值:
    成功返回0
    失败返回-1

6.rmdir()


int rmdir(const char *pathname);
功能:
    删除一个空目录文件
参数:
    pathname:目录文件的名字
返回值:
    成功返回0
    失败返回-1

三、文件属性的获取


1.stat()

 struct stat st;
 struct stat*st ;
int  stat(const  char  *path, struct stat *buf);
功能:
    获得文件的属性
参数:
    path: 文件的路径
    buf:  属性存放空间的首地址
返回值:
    成功返回0
    失败返回-1

四、系统时间的获取:


1.time


time_t time(time_t *t);
time_t tm;
time(&tm)

tm = time(NULL);
功能:
    获得1970年到现在的秒数
参数:
    t:存放秒数的空间首地址
返回值:
    成功返回1970年到现在的秒数
    失败返回-1

2.localtime


struct tm *localtime(const time_t *timep);
功能:
    将一个秒数转化成日历时间
参数:
    timep:保存秒数空间的地址
返回值:
    成功返回保存日历时间结构体的指针
    失败返回NULL

3.ctime


char *ctime(const time_t *timep);//date
功能:
    将时间秒数转化成字符串
参数:
    timep:保存时间空间的地址
返回值:
    成功返回获得时间字符串的首地址
    失败返回NULL

 struct tm 
 {
int tm_sec;         /* seconds */
int tm_min;         /* minutes */
int tm_hour;        /* hours */
int tm_mday;        /* day of the month */
int tm_mon;         /* month */
int tm_year;        /* year */
int tm_wday;        /* day of the week */
int tm_yday;        /* day in the year */
int tm_isdst;       /* daylight saving time */
};

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值