当前位置: 技术问答>linux和unix
关于S_ISDIR的返回值
来源: 互联网 发布时间:2016-12-22
本文导语: 大家好: 我编了一个程序,是搜索文件路径的。有一段代码是这样的: lstat(filepath, &statbuf); if(S_ISDIR(statbuf.st_mode) == 0) { ... } 我看了一下APUE关于这方面的讲解,好像S_ISDIR(s...
大家好:
我编了一个程序,是搜索文件路径的。有一段代码是这样的:
lstat(filepath, &statbuf);
if(S_ISDIR(statbuf.st_mode) == 0)
{
...
}
我看了一下APUE关于这方面的讲解,好像S_ISDIR(statbuf.st_mode) == 0是filepath不是文件夹而是文件。但是我调试了一下好像不是这样,不知道S_ISDIR(statbuf.st_mode)这个宏在不同的情况下返回的值到底是多少啊,请高人指点,谢了!
我编了一个程序,是搜索文件路径的。有一段代码是这样的:
lstat(filepath, &statbuf);
if(S_ISDIR(statbuf.st_mode) == 0)
{
...
}
我看了一下APUE关于这方面的讲解,好像S_ISDIR(statbuf.st_mode) == 0是filepath不是文件夹而是文件。但是我调试了一下好像不是这样,不知道S_ISDIR(statbuf.st_mode)这个宏在不同的情况下返回的值到底是多少啊,请高人指点,谢了!
|
#define S_ISDIR(x) (((x)&STAT_MASK)==STAT_DIR_FLAG)
STAT_MASK 001000001010
STAT_DIR_FLAG 001000000000
STAT_MASK 001000001010
STAT_DIR_FLAG 001000000000
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。