通过使用gcc和gdb作为我的调试器,我学习了如何在没有IDE的情况下开发C ++程序。到目前为止,我已经使用emacs在终端上开发了Python,但是因为我被makefile等吓坏了而避免使用C ++。现在我正在使用我的C ++程序在Linux上工作,我想知道一些关于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文件系统的情况下,最好的方法是做什么(切换dirs,执行任务,切换回来)?
答案 0 :(得分:0)
您可以使用dirent.h中的目录函数来获取目录内容。使用opendir函数打开目录,然后使用readdir遍历目录,最后调用closedir关闭目录句柄。
这是linux / unix中的系统调用,不能在Windows或其他操作系统中工作。