将子目录中的文件列表导入到数组中

时间:2015-02-28 23:40:48

标签: c++ filesystems

我正在开发一个程序,它要求我在多个点上将我的C ++项目子目录的内容导入vector<string>。假设项目目录名为root\,我想要扫描的目录是root\userFiles。此文件夹仅包含其他文件,不再包含其他子文件夹。

然而诀窍是我受限制,我不能使用任何boost,dirent.h头文件。只是基本的。

我能够提出的一个解决方案是使用命令system( "dir /b * > userFiles/fileList.txt" );,然后通过读取该文件并将其导入向量来过滤结果。

我的问题是我如何&#34; cd&#34;到该文件夹​​,在该文件夹中运行该命令,然后退回到根文件夹..

我尝试使用system("chdir userFiles/")命令,但我仍然获取根文件夹中的所有文件。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

所以我想出了一个更简单的方法。

int main()
{
system("chdir userFiles && dir /b * > fileList.txt");
}

我正在使用&&运算符将多个命令串连接在一起。由于我只使用system()函数,因此所有这些命令都将成为同一过程的一部分。