【发布时间】:2023-01-24 17:42:48
【问题描述】:
我知道 C++ 标准库迎合了 C++ 程序,而不是 C++ 编译器。但是 - 标准库中是否有一些工具可以在文件系统中查找包含文件,给定您将在包含指令中使用的字符串类型(即<foo/bar.h>或"foo/bar.h")?
【问题讨论】:
标签: c++ include c++-standard-library include-path
我知道 C++ 标准库迎合了 C++ 程序,而不是 C++ 编译器。但是 - 标准库中是否有一些工具可以在文件系统中查找包含文件,给定您将在包含指令中使用的字符串类型(即<foo/bar.h>或"foo/bar.h")?
【问题讨论】:
标签: c++ include c++-standard-library include-path
C++ 标准库不提供任何特定的工具来查找文件系统上的包含文件。但是,您可以使用标准 C 库函数(例如 fopen() 或 stat())来检查给定文件是否存在以及是否可以在文件系统中访问。
您还可以使用像 Boost.Filesystem 这样的库以独立于平台的方式在文件系统上查找文件和目录。它提供了一组函数和类来对文件和目录执行操作,例如检查文件或目录是否存在或遍历目录的内容。
此外,您可以使用预处理器宏,例如文件和线获取源文件的当前位置和代码中的行号。
【讨论】: