c++ - 复制目录的所有内容并创建一个 zip 文件

标签 c++ wxwidgets

我一直在尝试使用 wxwidgets(C++) 编写一个小型应用程序,它复制应用程序临时目录的所有内容并压缩该目录的所有内容。然而,我无法完全复制临时区域的内容。 这是我的代码

 wxString result;
 result = wxFileName::GetTempDir(); //Gets the temp area.

 wxFileName dir(result, wxEmptyString);
 dir.AppendDir(_T("Application"));
 bool a = dir.DirExists();
 wxFFileOutputStream out(_T("test.zip"));
 wxZipOutputStream zip(out);
 wxString sep(wxFileName::GetPathSeparator());

 zip.PutNextEntry(_T("entry1.txt"));
 wxString temp = dir.GetLongPath();
 zip.PutNextDirEntry(temp);

我能够创建 test.zip 并写入 entry1.txt 以及临时目录(没有其内容)。但是,我似乎不明白如何复制子目录和目录中的文件。

还有其他方法吗?

最佳答案

使用wxDir枚举给定目录的文件和子目录。使用 wxDirTraverserwxDir::GetAllFiles() 递归地做同样的事情。

关于c++ - 复制目录的所有内容并创建一个 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14560031/

相关文章:

python - 在 wxPython 中调整父级大小时重新缩放图像

使用 wxWidgets 的项目的 cmake 链接器配置

c++ - wxStyledTextCtrl 如何设置关键字样式

c++ - 为什么将函数名用作函数指针等同于将寻址运算符应用于函数名?

c++ - Qt:QuaZip 提取文件并在 QProgressDialog 中显示其进度

c++ - 函数模板参数推导模板参数vs默认模板参数vs返回类型

shared-libraries - 无法运行代码:: block :找不到 libwx_gtk2u-2.8.so.0

c++ - 使用 wxButton 避免 SPACE 和 ENTER 键

c++ - waveOutWrite 缓冲区永远不会返回到应用程序

c++ - 升级到1.2.162.1后 : vkQueueWaitIdle == VK_ERROR_DEVICE_LOST