我正在编写一个C ++代码,它遍历目录的所有条目,并决定使用dirent.h。由于我使用的是C ++,我决定使用C ++标准来包含C库文件[即用c前缀库名称并删除末尾的.h]
在没有添加任何功能的情况下,我决定编译我的程序一次以查看是否实际存在cdirent
或sys/cstat
。 g ++告诉我这些文件不存在的错误
#include <iostream>
#include <cdirent>
#include <sys/cstat>
#include <sys/ctypes>
using namespace std;
int main()
{
}
dummy.cpp:2:19: error: cdirent: No such file or directory
dummy.cpp:3:21: error: sys/cstat: No such file or directory
dummy.cpp:4:22: error: sys/ctypes: No such file or directory
根据此page中给出的关于在哪里查找标准C ++头文件的建议,我可以找到cstdio
,cstdlib
,ctime
之类的内容我的问题
dirent.h
是一个标准的库文件[如果我错了就纠正我] 提前感谢所有建议
答案 0 :(得分:5)
dirent.h
和sys/stat.h
是POSIX / SUS标头而不是标准C / C ++标头,因此不符合标准C ++规则。