复制目录的所有内容并创建zip文件

时间:2013-01-28 10:30:46

标签: 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以及临时目录(没有其内容)。但是,我似乎不明白如何复制目录中的子目录和文件。

还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

使用wxDir枚举给定目录的文件和子目录。使用wxDirTraverserwxDir::GetAllFiles()递归执行相同的操作。