随笔-22  评论-7  文章-0  trackbacks-0
 1#include <sys/stat.h>   
 2#include <io.h>   
 3  
 4bool FileExist(const char* FileName)   
 5{   
 6    struct stat my_stat;   
 7    return (stat(FileName, &my_stat) == 0);   
 8}
   
 9  
10  
11bool IsDirectory(const char* FileName)   
12{   
13    struct stat my_stat;   
14    if (stat(FileName, &my_stat) != 0return false;   
15    return ((my_stat.st_mode & S_IFDIR) != 0);   
16}

在程序中获得普通文件,目录,管道,socket,字符,块()的属性。

函数原型
#include <sys/stat.h>

int stat(const char *restrict pathname, struct stat *restrict buf);
提供文件名字,获取文件对应属性。把相应的属性存放到 buf中。

2 文件对应的属性
struct stat {
        mode_t     st_mode;       //文件对应的模式,文件,目录等
        ino_t      st_ino;       //inode节点号
        dev_t      st_dev;        //设备号码
        dev_t      st_rdev;       //特殊设备号码
        nlink_t    st_nlink;      //文件的连接数
        uid_t      st_uid;        //文件所有者
        gid_t      st_gid;        //文件所有者对应的组
        off_t      st_size;       //普通文件,对应的文件字节数
        time_t     st_atime;      //文件最后被访问的时间
        time_t     st_mtime;      //文件内容最后被修改的时间
        time_t     st_ctime;      //文件状态改变时间
        blksize_t st_blksize;    //文件内容对应的块大小
        blkcnt_t   st_blocks;     //文件内容对应的块数量
      };
可以通过上面提供的函数,返回一个结构体,保存着文件的信息。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fxpbupt/archive/2008/11/17/3313427.aspx

posted on 2010-04-12 09:17 楚天清秋 阅读(773) 评论(0)  编辑 收藏 引用 所属分类: C,C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理