我想将文件/文件夹列表存储在虚拟树/列表中。也许是一个向量或类似的。有人知道如何管理这个吗?我有两种类型的项目:文件夹(节点)和文件。我必须模拟不同的文件夹子级别。它必须类似于 Treeview。每个节点都可以有一个子节点,该子节点可以有一个子节点等等。我需要有可能删除文件或文件夹(及其子文件夹和文件)。
也许链接或提示会有所帮助。
你可以利用多态性。
class FileSystemElement{
...
}
class Folder: public FileSystemElement{
...
public:
std::list<FileSystemelement*> subfolders;
}
class File: public FileSystemElement{
...
}
然后可能是这样的:
class FileSystem{
public:
FileSystem();
~FileSystem();
void removeFile(std::string path);
void addFile(std::string path, void* data, size_t size);
std::list<File*> filesInFolder(std::string path);
...
private:
std::list<FileSystemElement*> filesystem;
}
删除和添加可以通过正常的std::list
add
和remove
方法来完成