`
mactonish
  • 浏览: 16268 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论

lstat(传入路径参数,&一种struct)返回0或1

阅读更多
apue 04.pdf

S _ I S L N K ( )
S _ I S S O C K ( )
符号连接( P O S I X . 1 或 S V R 4无此类型) 套接字( P O S I X . 1 或 S V R 4无此类型)
为了跨平台,代码写成#ifdef这种
#include "apue.h"

int
main(int argc, char *argv[])
{
    int         i;
    struct stat buf;
    char        *ptr;

    for (i = 1; i < argc; i++) {
        printf("%s: ", argv[i]);
        if (lstat(argv[i], &buf) < 0) {
            err_ret("lstat error");
            continue;
        }
        if (S_ISREG(buf.st_mode))
            ptr = "regular";
        else if (S_ISDIR(buf.st_mode))
            ptr = "directory";
        else if (S_ISCHR(buf.st_mode))
            ptr = "character special";
        else if (S_ISBLK(buf.st_mode))
            ptr = "block special";
        else if (S_ISFIFO(buf.st_mode))
            ptr = "fifo";
#ifdef S_ISLNK
        else if (S_ISLNK(buf.st_mode))
            ptr = "symbolic link";
#endif
#ifdef S_ISSOCK      
        else if (S_ISSOCK(buf.st_mode))
            ptr = "socket";
#endif
        else
            ptr = "** unknown mode **";
        printf("%s\n", ptr);
    }
    exit(0);
}

这样定义的
#define S_ISDIR (mode) (((mode) & S_IFMT) == S_IFDIR)
分享到:
评论

相关推荐

    fstat、stat和lstat异同

    stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。

    Linux C ll 命令代码

    简单易懂哦!... struct stat buf; struct passwd *usr; struct group *grp; int rt; struct tm *ttime; char linkname[64]; rt=lstat(name,&buf;); //调用lstat 获取文件属性,并对返回值做错

    文件夹遍历的程序

    文件夹 遍历的代码 int isDir(const char* path) { struct stat st; lstat(path, &st;); return S_ISDIR(st.st_mode);

    c++判断是否为目录的示例分享

    代码如下:#include&lt;sys&gt;#include&lt;unistd&gt;int is_dir(char *path){ struct stat buf;... 您可能感兴趣的文章:VC++获得当前进程运行目录的方法C++递归删除一个目录实例C++检查某个文件或目录是否存在的函数C/

    node.js中的fs.lstat方法使用说明

    fs.lstat(path, [callback(err, stats)]) 由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) ) 接收参数: path 文件路径 callback 回调,传递两个参数,异常参数err, 文件信息数组 stats ...

    一个进程池的服务器程序

    一个进程池的服务器程序 下面做了非常简单的http服务器,该服务器只能接收Get请求。 流程大概如下: 1,父进程listen,创建pipe(下面所有父子进程之间的通信都用该pipe) 2,父进程预fork n个子进程 3,各个子...

    机器学习波士顿房价数据集.zip

    0.00632 18 2.31 0 0.538 6.575 65.2 4.09 1 296 15.3 396.9 4.98 24 0.02731 0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 396.9 9.14 21.6 0.02729 0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 392.83 4.03 ...

    对node通过fs模块判断文件是否是文件夹的实例讲解

    从 fs.stat()、fs.lstat() 和 fs.fstat() 及其同步版本返回的对象都是该类型。 如果传入这些函数的 options 中的 bigint 为 true,则数值会是 bigint 型而不是 number 型。 如: Stats { dev: 2114, ino: ...

    node.js中的fs.lstatSync方法使用说明

    方法返回一个stat数组对象,包含以下信息:(以下信息为案例中读取的文件信息,非默认值) 代码如下: {    dev : 0 ,    mode : 33206 ,    nlink : 1 ,    uid : 0 ,    gid : 0 ,    rdev : 0 ,    ...

    (重要)AIX command 使用总结.txt

    S State -&gt;列出指定状态的设备,3种状态可选,(1)已定义-&gt;defined,d,D,0;(2)可用-&gt;available,a,A,1;(3)停止-&gt;stopped,s,S,2; s Subclass -&gt;指定设备的子类名称,subclass包括什么类型可用参数P显示; t Type -&gt;指定...

    机器学习实战案例-基于回归算法(Lasso、Ridge)对波士顿房屋租赁价格进行预测

    数据集中的每一行数据都是对波士顿周边或城镇房价的情况描述,下面对数据集变量进行说明,方便大家理解数据集变量代表的意义。 CRIM: 城镇人均犯罪率 ZN: 住宅用地所占比例 INDUS: 城镇中非住宅用地所占比例 ...

    文件操作 C小程序练习

    文件操作 小程序 hello goodluck

    Boston Housing Price.csv

    其中,前13个字段是对某一个房产的描述信息,最后一个是平均房产价格。 字段解释: CRIM per capita crime rate by town ZN proportion of residential land zoned for lots over 25,000 sq.ft. INDUS ...

    Boston Housing Data.rar

    ZN:占地 25000 平方英尺(1 英尺=0.3048 米)以上的住宅用地比例 INDUS:每个城镇的非零售商业用地比例 CHAS:查尔斯河(Charles River)变量(若土地位于河流边界,则为 1;否则为 0) NOX:一氧化氮浓度(每...

    linux中通过文件描述符获取文件绝对路径的方法

    在linux中,有时候我们只知道文件描述符却不知道它的名字及其完整的路径,如果我们想获取其路径该怎么办呢?其实很简单,在linux中每个被打开的文件都会在/proc/self/fd/目录中有记录,其中(/proc/self/fd/文件描述...

    flask-ml-azure-serverless:在Azure App Services上部署Flask机器学习应用程序

    flask-ml-azure-serverless 在Azure App Services上部署Flask机器学习应用程序 机器学习应用的目的 该应用程序是通过使用Flask框架在Python中实现的。 它使用预建的机器学习模型根据预测房价。... "LSTAT":{

    "Boston Housing" 数据集是一个经典的用于回归分析和机器学习的数据集,常用于测试和比较不同回归算法的性能 这个数

    CHAS: 查尔斯河虚拟变量(如果土地位于河边,则为 1,否则为 0)。 NOX: 一氧化氮浓度。 RM: 每个住宅的平均房间数。 AGE: 1940 年之前建造的自住单位的比例。 DIS: 加权距离到波士顿五个就业中心的距离。 RAD...

    深入linux下遍历目录树的方法总结分析

    1、手动实现递归1.1 stat()函数族stat函数族包括:stat,fstat以及lstat函数,都是向用户返回文件的属性信息(元数据)。 代码如下:view plaincopy to clipboardprint?#include  int stat(const char*pathname,

Global site tag (gtag.js) - Google Analytics