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

Importing a list of files in a subdirectory into an array

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

然而问题是我被限制了,我不能使用任何 boost,dirent.h 头文件。只是基本的。

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

我的问题是如何 "cd" 进入该文件夹,运行 该命令,同时仍在该文件夹中,然后退出回到根文件夹..

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

如有任何帮助,我们将不胜感激。

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

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

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