码迷,mamicode.com
首页 > 其他好文 > 详细

struct stat

时间:2019-06-18 14:14:45      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:lib   failed   ash   aik   space   err   cti   system   main   

stat函数用来获取指定路径的文件或者文件夹的信息。

//! 需要包含的头文件  
#include <sys/types.h>    
#include <sys/stat.h>   
//函数原型 int stat(   const char *filename, //文件或者文件夹的路径    struct stat *buf //获取的信息保存在内存中 ); 正确——返回0 错误——返回-1,具体错误码保存在errno中
errno 是记录系统的最后一次错误代码。代码是一个int型的值,在errno.h中定义。查看错误代码errno
是调试程序的一个重要方法。当linux C api函数发生异常时,一般会将errno变量(需include errno.h)
赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决
了不少原本看来莫名其妙的问题。
//stat结构体是文件(夹)信息的结构体,定义如下:
struct
stat { dev_t st_dev; /* ID of device containing file -文件所在设备的ID*/ ino_t st_ino; /* inode number -inode节点号*/ mode_t st_mode; /* protection -保护模式?*/ nlink_t st_nlink; /* number of hard links -链向此文件的连接数(硬连接)*/ uid_t st_uid; /* user ID of owner -user id*/ gid_t st_gid; /* group ID of owner - group id*/ dev_t st_rdev; /* device ID (if special file) -设备号,针对设备文件*/ off_t st_size; /* total size, in bytes -文件大小,字节为单位*/ blksize_t st_blksize; /* blocksize for filesystem I/O -系统块的大小*/ blkcnt_t st_blocks; /* number of blocks allocated -文件所占块数*/ time_t st_atime; /* time of last access -最近存取时间*/ time_t st_mtime; /* time of last modification -最近修改时间*/ time_t st_ctime; /* time of last status change - */ };
//例子:使用stat结构图获得文件信息
#include <iostream> #include <ctime> #include <sys/types.h> #include <sys/stat.h> using namespace std; int main () { struct stat buf; int result; result = stat ("./download.c", &buf); if (result != 0) { //perror ("Failed ^_^"); cout<<"Failed ^_^"; } else { //! 文件的大小,字节为单位 cout << "size of the file in bytes: " << buf.st_size << endl; //! 文件创建的时间 cout << "time of creation of the file: " << ctime (&buf.st_ctime) << endl; //! 最近一次修改的时间 cout << "time of last modification of the file: " << ctime (&buf.st_mtime) << endl; //! 最近一次访问的时间 cout << "time of last access of the file: " << ctime (&buf.st_atime)<< endl; } return 0; }
lzb@lzb:~/projects/curls/http_post/lib$ ./a.out
size of the file in bytes: 874
time of creation of the file: Tue Jun 18 13:33:05 2019

time of last modification of the file: Tue Jun 18 13:33:05 2019

time of last access of the file: Tue Jun 18 13:33:05 2019

 

struct stat

标签:lib   failed   ash   aik   space   err   cti   system   main   

原文地址:https://www.cnblogs.com/liuzhenbo/p/11044746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!