【发布时间】:2010-03-09 14:47:15
【问题描述】:
我来自 C# 背景,我正在从事 C++ 项目。我需要打开目录中的文件,然后处理文件中的数据。问题出在我的目标环境(Greenhills Integrity)上,我无法访问“目录”。似乎 C++ 没有目录的概念。为什么不?这个问题在 C# 中很简单。我无法链接到任何大型库(BOOST 或 dirent)来获取文件。我可以使用 fopen 打开文件,但我并不总是知道文件名,因此我必须将目录“strcat”到每个文件名才能“打开”文件。
我需要一种方法来获取目录中的文件名,而无需使用外部 API。这可能吗?
【问题讨论】:
-
在 C++ 中没有目录的概念。底层系统将文件和目录视为“句柄”。 IIRC 文件系统句柄上有一个标志,指示它是否是目录(查看 stat 函数。)
-
添加了
posix标签,因为 Greenhills Integrity 支持 POSIX。