更新
从采用C ++ 17开始,语言中包含<filesystem>
标题就可以完成此操作。请参阅编译器的文档以了解它是否受支持。
原始问题:
这是我一段时间的好奇心:如何在不使用boost或任何第三方库的情况下遍历目录树?只是简单的'C ++'(例如98,99,01,0x和1x规格都可以。)?它是在加强存在的前一天完成的,因此必须有一种方法可以做到。
答案 0 :(得分:6)
请查看http://en.wikipedia.org/wiki/Dirent.h
该引用还有一个指向Windows的dirent.h实现的链接,或者您可以使用cygwin
如果你想在Windows上做这个,你可以建立在这个例子上
http://msdn.microsoft.com/en-us/library/aa365200%28VS.85%29.aspx
答案 1 :(得分:4)
没有标准的文件系统功能,所以你不会得到任何使用“普通C ++”的答案。对于POSIX系统,使用opendir。对于Windows,FindFirstFile。我不确定其他操作系统。
人们推荐Boost Filesystem是有原因的 - 它是可移植的,并为您处理所有这些细节。
答案 2 :(得分:1)
自从采用C ++ 17标准以来,该语言中已经包含一个<filesystem>
头文件。请参阅编译器的文档,以确定是否受支持。