Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么没有cdirent或sys/cstat 我写了一个C++代码,它遍历目录的所有条目并决定使用。因为我使用C++,所以我决定使用C++标准来包括C库文件[即用C预先设置库名,并在结尾删除.h [_C++_C_Linux - Fatal编程技术网

为什么没有cdirent或sys/cstat 我写了一个C++代码,它遍历目录的所有条目并决定使用。因为我使用C++,所以我决定使用C++标准来包括C库文件[即用C预先设置库名,并在结尾删除.h [

为什么没有cdirent或sys/cstat 我写了一个C++代码,它遍历目录的所有条目并决定使用。因为我使用C++,所以我决定使用C++标准来包括C库文件[即用C预先设置库名,并在结尾删除.h [,c++,c,linux,C++,C,Linux,在没有添加任何功能的情况下,我决定编译我的程序一次,看看是否有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

在没有添加任何功能的情况下,我决定编译我的程序一次,看看是否有
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
#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
}
dummy.cpp:2:19:错误:cdirent:没有这样的文件或目录
dummy.cpp:3:21:错误:sys/cstat:没有这样的文件或目录
dummy.cpp:4:22:错误:sys/ctypes:没有这样的文件或目录

根据本指南给出的关于寻找标准C++头文件的建议,我可以找到<代码> CSTDIO < /C> >代码> CSTDLIB < /C> >代码> cTime/Cuff>等等,这就引出了我的问题

  • 何时将C标准库文件转换为C++标准库文件?
  • 如何在程序中包含此类文件?这里只讨论标准和非标准头文件。但是我相信
    dirent.h
    是一个标准的库文件[如果我错了请纠正我]

  • 预先感谢所有的建议:

    代码> dio.H./Cu>和sys /St.H./Cuth>是POSIX/SUS的头,而不是标准的C/C++头,因此不遵守标准的C++规则。Boost文件系统计划包含在C++14(当前标准)的标准库中,但我记得它没有被添加。它肯定会出现在C++ 17中,然后希望删除SyyBug。它们也会在C++的标准下提前十年甚至更长时间。至于POSIX为什么没有定义C++接口,这是一个更难回答的问题。也许应该鼓励Boost这样做?@JonathanLeffler:Boost已经有了一个文件系统子库。如何包含它们?我需要用
    extern“C”
    或其他东西包装它们吗?