state获取文件状态

#include <sys/types.h>

#include <sys/stat.h>

#include <unistd.h>

int stat(const char *pathname, struct stat *buf);           //获取文件状态 

结构体stat的定义为:       

 struct stat {          

 dev_t          st_dev;          //如果是设备,返回设备表述符,否则为0.     

 ino_t           st_ino;          // i节点号。

 mode_t       st_mode;       //文件类型。无符号短整型 。两个字节存储文件类型和权限。           

 nlink_t        st_nlink;       //链接数。指的是硬链接的链接数。

 uid_t           st_uid;          //属主ID             

 gid_t           st_gid;          //组ID          

 dev_t          st_rdev;        //设备类型

 off_t           st_size;         //文件大小,字节表示 

 blksize_t     st_blksize;    //块大小

 blkcnt_t      st_blocks;     //块数 

 time_t         st_atime;      //最后访问时间         time_t存放的是距离1970.1.1的秒数。

 time_t         st_mtime;     //最后修改时间

 time_t         st_ctime;      //最后权限修改时间 

 }; 

正常人类能看懂的时间:字符串时间。

格林威治时间、字符串时间、

#include <time.h>

char * ctime();               字符串时间?

接口:拿到uid等。

getpwuid()

struct passwd{

  char *pw_name;

  char *pw_

}

getgrgid()   通过gid拿到组名。

格林威志时间:

struct tm{

  int tm_sec;

  int tm_....

}

atoi()    字符串转换成数字。

进行位操作,自己写或者调用接口。

使用循环和移位 判断后面9位。

上一篇:第7、8章学习笔记(20191213兰毅达)


下一篇:Linux下的空洞文件,静态库和动态库