`
kenby
  • 浏览: 717302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apue2读书笔记

阅读更多

1.判断文件类型的两种方法
1):使用宏函数

  1. struct stat buf;
  2. lstat( "/home" ,buf);
  3. if (S_ISDIR(buf.st_mode)){
  4.    printf( "目录文件" );
  5. }

2):使用st_mode和S_IFMT的与运算结果

  1. struct stat buf;
  2. lstat( "/home" ,&buf);
  3. if (buf.st_mode&S_IFMT==S_IFDIR){
  4.    printf( "目录文件" );
  5. }

事实上,第一种方法只是第二种方法的进一步封装,查看<sys.stat.h>即可找到宏函数S_ISDIR的定义为:
#define S_ISDIR(mode) (( (mode) & IFMT) == S_IFDIR).

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics