DT_DIR未定义

我想检查readdir返回的文件是否是目录。 我尝试使用DT_DIR常量(正如man readdir所说),但它未定义。 我应该包含哪些文件才能获得它?

现在我用

 #include  #include  #include  #include  

gcc版本是4.6.1

编译字符串:

 gcc ac --std=c99 -Wall 

您需要定义_BSD_SOURCEfunction测试宏以获取这些定义,它们不是标准的,并且GCC在编译C99时不定义该宏。

 gcc -std=c99 -D_BSD_SOURCE -Wall ac