• lstat函数的使用【学习笔记】


    通过lstat函数获取文件的类型的代码如下。

     1 #include "apue.h"
     2 
     3 int main(int argc,char *argv[])
     4 {
     5     int i;
     6     struct stat buf;
     7     char *ptr;
     8 
     9     for(i = 1;i < argc;i++){
    10         printf("%s: ",argv[i]);
    11         if(lstat(argv[i],&buf) < 0){
    12             err_ret("lstat error");
    13             continue;
    14         }
    15         if(S_ISREG(buf.st_mode))
    16             ptr = "regular";
    17         else if(S_ISDIR(buf.st_mode))
    18             ptr = "directory";
    19         else if(S_ISCHR(buf.st_mode))
    20             ptr = "character special";
    21         else if(S_ISBLK(buf.st_mode))
    22             ptr = "block special";
    23         else if(S_ISFIFO(buf.st_mode))
    24             ptr = "fifo";
    25         else if(S_ISLNK(buf.st_mode))
    26             ptr = "symbolic link";
    27         else if(S_ISSOCK(buf.st_mode))
    28             ptr = "socket";
    29         else
    30             ptr = "** unkonwn mode **";
    31 
    32         printf("%s
    ",ptr);
    33     }
    34 
    35     return 0;
    36 }

    执行文件之后的显示结果如下:通过lstat函数可以正确的获取文件的类型

  • 相关阅读:
    HDOJ 1284 钱币兑换问题
    WA : csu1019 simple line editor
    HDOJ1232 并查集
    最长回文子串
    Where's Waldorf?
    csu 1148 词典
    csu 1011 Counting Pixels
    Product:java高精度乘法
    内置类型开方
    csu 1019 Simple Line Editor
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/6959005.html
Copyright © 2020-2023  润新知