使用C ++读取文件名

时间:2009-03-04 05:40:39

标签: c++ file-io

有没有办法使用纯C(或C ++)从文件夹中读取文件名?这意味着不包括windows.h(没有FindFirstFile()等...)。

看起来fstream不具备此功能。我知道文件名依赖于操作系统,但我希望有一些库可以在Windows中使用它。

4 个答案:

答案 0 :(得分:10)

boost filesystem是个不错的解决方案。当然在幕后,它仍然会使用Windows API调用(当你在windows上构建时),但这是从你身上抽象出来的。

答案 1 :(得分:4)

C ++通常不会为您提供此类功能。跨平台解决方案是使用boost::filesystem

答案 2 :(得分:0)

尝试使用POSIX函数opendir()和readdir()来遍历目录。有关一些很好的示例代码,请参阅手册页的this link。这些功能应该可以在大多数平台上使用,包括Windows和UNIX。

答案 3 :(得分:0)

如果您希望在Windows上使用opendir()和readdir(),可以下载MinGW,这是着名的GNU编译器集合的Windows端口。它包括UNIX头文件的Windows端口,包括dirent.h,它允许您使用指定的函数。请记住,无论哪种方式都会调用本机API。

-John