c++ - 使用 C++ 进行目录导航

标签 c++ linux

我正在学习如何在没有 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/

相关文章:

c++ - 在 C++ 中使用有符号变量和无符号变量作为标志

c++ - 需要大尺寸静态数组

linux - 客户端 UDP 套接字绑定(bind)

linux - 手动产生定时器中断

c++ - 一个程序可以分配多少内存?

c++ - 使用 Bass 库绘制音频频谱

flex 中的 C++ 多行注释语法

c++ - Visual C++ CRT调试

linux - Ampersand 没有将进程置于后台

java - Prolog 和 Java 与 Eclipse (arch Linux)