确定目录中的文件

时间:2010-03-09 14:47:16

标签: c++ posix

我来自C#背景,我正在开发一个C ++项目。我需要打开目录中的文件,然后处理文件中的数据。问题出在我的目标环境(Greenhills Integrity)上,我无法访问“目录”。似乎C ++没有目录的概念。为什么不?这个问题在C#中很简单。我无法链接到任何大型库(BOOST或dirent)来获取文件。我可以使用fopen打开一个文件,但我不会总是知道文件名,因此我必须将目录“strcat”到每个文件名以便“fopen”文件。

我需要一种方法来在不使用外部API的情况下获取目录中的文件名。这可能吗?

3 个答案:

答案 0 :(得分:4)

主要的C ++ API有目录。从POSIX上的readdir或Windows上的FindFirstFile()开始。格林希尔斯似乎support POSIX

答案 1 :(得分:3)

不,这是不可能的。 C ++没有“内置”目录功能 - 您需要使用某种类型的库。

答案 2 :(得分:2)

检查您的操作系统。每个目录处理都不同。如果要在Microsoft Windows上列出/查询目录,则必须使用Windows 32 API;如果要在Linux上列出/查询目录,则必须使用Linux API(例如opendir / stat)。