zoukankan      html  css  js  c++  java
  • S_ISREG等几个常见的宏 struct stat

    S_ISLNK(st_mode):是否是一个连接.
    S_ISREG(st_mode):是否是一个常规文件.
    S_ISDIR(st_mode):是否是一个目录
    S_ISCHR(st_mode):是否是一个字符设备.
    S_ISBLK(st_mode):是否是一个块设备
    S_ISFIFO(st_mode):是否 是一个FIFO文件.
    S_ISSOCK(st_mode):是否是一个SOCKET文件 

    man 2 stat 可以查到stat数据结构,其中的st_mode就是上面几个宏的输入参数
    struct stat {
    dev_t st_dev;
    ino_t st_ino;
    mode_t st_mode;
    nlink_t st_nlink;
    uid_t st_uid;
    gid_t st_gid;
    dev_t st_rdev;
    off_t st_size;
    blksize_t st_blksize;
    blkcnt_t st_blocks;
    time_t st_mtime;
    time_t st_ctime;
    };

    #ifndef WIN32
    #include <unistd.h>
    #endif
    #include<sys/types.h>
    #include<sys/stat.h>
    #include <Windows.h>
    #define  S_ISDIR(model) ((model) & _S_IFDIR)
    int main()
    {
        int i;
        struct stat buf;
        char * ptr; 
        int result;    
        result = stat("C:/Users/10192647.ZTE/Downloads", &buf);
        if (S_ISDIR(buf.st_mode))
            ptr="目录";
        cout<<"文件为:"<<ptr<<endl;
        return 0;
    }
    #include <iostream>   
    #include <ctime>   
    #include <sys/types.h>   
    #include <sys/stat.h>   
    using namespace std;   
    int  main4 ()  
    {  
        struct stat buf;  
        int result;  
        result = stat ("C:/out.txt", &buf);  
        if (result != 0)  
          {  
              perror ("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;  
    }  
  • 相关阅读:
    TCP原理简介
    zabbix_get [109064]: Check access restrictions in Zabbix agent configuration
    Log4j2:异步日志中打印方法名和行号信息
    高仿腾讯QQ最终版
    启动TOMCAT报错 java.util.zip.ZipException: invalid LOC header (bad signature)
    修改hosts立刻生效不必重启
    MyEclipse的Debug模式启动缓慢
    SpringBatch配置数据库
    SpringBatch的核心组件JobLauncher和JobRepository
    SpringBatch前言
  • 原文地址:https://www.cnblogs.com/yaowen/p/4802714.html
Copyright © 2011-2022 走看看