我试图做一个简单的比较,以便能够做一些事情,如果文件类型读是一个目录。
样本代码:
int main()
{
DIR *dir = opendir(".");
struct dirent *dirent = readdir(dir);
if (dirent->d_type == DT_DIR)
//do something
return 0;
}
这里有这样的说法:
DT_DIR
未初始化
当我尝试这样使用方括号时:"DT_DIR"
,我得到以下错误:
如果我正确理解,我需要将DT_DIR
放在一个char
数组中?这是我第一次使用这些结构和函数。
发布于 2017-10-11 17:46:45
宏DT_DIR
不是POSIX的一部分,而是一个glibc扩展。在包含头部以获得#define _GNU_SOURCE
之前,在顶部定义>= (如果您的glibc版本为>= 2.19),则定义>=。事实上,d_type
甚至在POSIX的.中都没有提到
https://stackoverflow.com/questions/46694350
复制相似问题