我正在編寫一個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