所以我有一个项目,我需要构建一个小型的简单文本 shell,它可以运行、编辑和读取目录中的文件。我有一个应该可以工作的小原型(prototype),除了当我编译时,我收到关于 d_type not found within the struct dirent used in dirent.h header file 的错误。
d = opendir( "." );
c = 0;
while ((de = readdir(d))){
if ((de->de_type) & DT_DIR)
printf( " ( %d Directory: %s ) \n", c++, de->de_name);
}
变量“de”的类型为 struct dirent*,正在检查它的类型,我收到错误:“struct dirent”没有名为“de_type”的成员
这是我真正感到困惑和困惑的地方:我已经在两个窗口(使用 dev C++)和 Ubuntu(使用 gcc)上编译了这段代码。我在两个操作系统上都收到了同样的错误,当我检查使用的库时,我相信这是普通的 gnu C 库,那里有一个名为 d_type 的变量:
https://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html
我发现其他对 dirent.h 文件的引用不是因为其中一个在不同的库中,如果是这种情况,我该如何加载该库以便编译代码?
很抱歉发了这么长的帖子,非常感谢所有回答的人!
我是一名优秀的程序员,十分优秀!