回 帖 发 新 帖 刷新版面

主题:Linux目录操作函数


linux是有通配符的,统配单个字符的是?,统配任意个字符的是*

vim编辑器对齐上一行:==

1.1 目录操作函数

1.1.1 opendir函数

头文件

#include <sys/types.h>

    #include <dirent.h>

函数原型:

DIR *opendir(const char *name);

函数功能:

打开目录文件name,返回可操作指针

形参列表:

name:要打开的目录文件

返回值

成功可操作的指针

失败NULL

1.1.2 readdir函数

头文件

#include <dirent.h>

函数原型:

struct dirent *readdir(DIR *dirp);

函数功能:

读取dirp指向的目录的内容,返回到结构体指针中

形参列表:

dirp读取的目录流指针

返回值

成功:指向一个目录结构体的指针

失败/末尾NULL

注意:每次只能读取到这个目录文件下,一个文件的信息

目录文件下文件列表信息结构体:

struct dirent {

               ino_t          d_ino;       /* inode number */

               off_t          d_off;       /* offset to the next dirent */

               unsigned short d_reclen;    /* length of this record */

               unsigned char  d_type;      /* type of file; not supported

                                              by all file system types */

               char           d_name[256]; /* filename */

           };

1.1.3 closedir函数

头文件:

#include <sys/types.h>

    #include <dirent.h>

函数原型

int closedir(DIR *dirp);

函数功能

关闭指向一个目录文件的指针

形参列表:

dirp:要关闭的指针

返回值

成功0

失败-1

1.2 时间相关函数

1.2.1 time函数

头文件:

#include <time.h>

函数原型:

time_t time(time_t *t);

函数功能:

计算从197011日开始到现在为止的秒数

形参列表:

t:用于存储计算出来秒数的空间

返回值:

成功:返回计算出来的秒数

失败:-1

1.2.2 localtime函数

头文件:

#include <time.h>

函数原型:

struct tm *gmtime(const time_t *timep);

函数功能:

time函数计算出来的秒数,化为时间日期

形参列表

timeptime函数计算出来的秒数

返回值

成功:返回一个结构体指针,指向一个存储着时间日期的结构体

失败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 */   +  1

               int tm_year;        /* year */      +  1900

               int tm_wday;        /* day of the week */

               int tm_yday;        /* day in the year */

               int tm_isdst;       /* daylight saving time */

           };

 


 

回复列表 (共1个回复)

沙发

感谢分享youpro3@donotsendemailtome.com
youpro4@donotsendemailtome.com
youpro5@donotsendemailtome.com
havece1@donotsendemailtome.com
havece2@donotsendemailtome.com
havece3@donotsendemailtome.com
havece4@donotsendemailtome.com
havece5@donotsendemailtome.com
danror1@donotsendemailtome.com
danror2@donotsendemailtome.com
danror3@donotsendemailtome.com
danror4@donotsendemailtome.com
danror5@donotsendemailtome.com

我来回复

您尚未登录,请登录后再回复。点此登录或注册