检查文件是否不是目录

时间:2016-02-24 20:53:34

标签: c

我目前有一个代码,用于检查文件是否是目录,如下所示;

          file = readdir (dir);
          if(file->d_type & DT_DIR){
          \* some code*\
          }

我想知道,与此完全相反的if语句是什么。 “如果文件不是目录”这一行。

4 个答案:

答案 0 :(得分:6)

使用 not 运算符(!)可以取消任何布尔表达式:

if (!(file->d_type & DT_DIR)) {

答案 1 :(得分:2)

关于你的问题,你可以这样做:

 if(!(file->d_type & DT_DIR)){} 

答案 2 :(得分:2)

您可以检查表达式的计算结果是否为false:

      file = readdir (dir);
      if( (file->d_type & DT_DIR) == 0 ){
      \* some code*\
      }

答案 3 :(得分:1)

按位&将匹配DT_SOCK = 12,DT_WHT = 14 ......如果只检查目录......应使用" =="

 file = readdir (dir);
          if(file->d_type == DT_DIR){
          \* some code*\
          }

反向:

 file = readdir (dir);
          if(file->d_type != DT_DIR){
          \* some code*\
          }

你可以对任何条件块进行否定来反转它,你现在已经知道了..