主题: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);
函数功能:
计算从1970年1月1日开始到现在为止的秒数
形参列表:
t:用于存储计算出来秒数的空间
返回值:
成功:返回计算出来的秒数
失败:-1
1.2.2 localtime函数
头文件:
#include <time.h>
函数原型:
struct tm *gmtime(const time_t *timep);
函数功能:
把time函数计算出来的秒数,化为时间日期
形参列表:
timep:time函数计算出来的秒数
返回值:
成功:返回一个结构体指针,指向一个存储着时间日期的结构体
失败: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 */
};