我正在学习如何在没有 IDE 的情况下通过使用 gcc 和 gdb 作为我的调试器来开发 C++ 程序。到目前为止,我已经使用 emacs 在终端中开发了 Python,但由于被 makefile 等吓倒而避开了 C++。现在我在 Linux 中使用我的 C++ 程序,我想知道 C++ 的工作方式带目录。
我的目录结构如下
Parent
/ \
Data Folder Program Dir
| |
407 subdirectories <program files>
在 linux 机器上开发 python 脚本可以很容易地更改目录,只需存储 os.getcwd(),使用 os.chdir() 将目录更改为目标,然后再次使用它返回到先前的目录。我的问题是,我可以用 C++ 做同样的事情吗?我以类似于 Python 的方式导航到包含 407 个子目录的并行目录数据文件夹?
我看过以下帖子,所以我了解 C++ 中的 getcwd: How to get the current directory in a C program?
但是,我问是因为我记得必须在 Xcode 中做一些事情,我告诉它在哪里寻找我的数据,因为我无法让它直观地导航目录(如 Python)。我想我不知道不需要再这样做了。
在不使用 boost 文件系统的情况下执行此操作(切换目录、执行任务、切换回来)的最佳方法是什么?
最佳答案
您可以使用dirent.h 中的目录函数来获取目录内容。使用opendir函数打开目录,然后使用readdir遍历目录,最后调用closedir关闭目录句柄。
这是 linux/unix 中的系统调用,不适用于 Windows 或其他操作系统。
关于c++ - 使用 C++ 进行目录导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34778602/