我正在编写一个C++代码,遍历目录中的所有条目并决定使用dirent.h。自从我使用C++以来,我决定使用C++标准来包含C库文件[即在库名前加上c并在最后删除.h]为什么没有cdirent或sys/cstat
不添加任何功能,我决定编译我的程序一次,看看是否实际存在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
和这使我对像我的问题
- 何时将C标准库文件转换为C++标准库文件?
- 如何在程序中包含这些文件?这里的page只是谈论标准和非标准的头文件。但我相信
dirent.h
是一个标准库文件[纠正我,如果我错了]
预先感谢所有建议
而不是Posix文件,使用Boost文件系统。 Boost文件系统在C++ 14(当前标准)中被包含在标准库中,但我记得它并没有被添加。它肯定会在C++ 17中出现,然后希望将这些愚蠢的东西移除。 – 2014-12-02 05:31:14