C++ 我可以使用wxwidgets读取zip存档吗?
我想在zip存档中读取xml文件或文本文件,而不从存档中提取它。我可以不从zip存档中提取而直接执行吗?是的,您可以,应该是您正在寻找的C++ 我可以使用wxwidgets读取zip存档吗?,c++,wxwidgets,C++,Wxwidgets,我想在zip存档中读取xml文件或文本文件,而不从存档中提取它。我可以不从zip存档中提取而直接执行吗?是的,您可以,应该是您正在寻找的 wxZipInputStream zip(in); while (entry.reset(zip.GetNextEntry()), entry.get() != NULL) { wxString name = entry->GetName(); name = str
wxZipInputStream zip(in);
while (entry.reset(zip.GetNextEntry()), entry.get() != NULL) {
wxString name = entry->GetName();
name = strPageName.BeforeLast('\\') + wxFileName::GetPathSeparator() + name;
zip.OpenEntry(*entry.get());
wxFileOutputStream file(name);
if (!file) {
wxLogError(_T("Can not create file '") + name + _T("'."));
break;
}
zip.Read(file);
我尝试使用wxZipInputStream。是的,我可以在从存档中提取后读取文件。我想知道我是否可以阅读这些文件而不必从zip存档中提取
wxFileSystem::AddHandler(new wxZipFSHandler);
wxFileSystem fs;
wxFSFile *zip = fs.OpenFile( "d:\\test.zip#zip:test.txt");
if(zip!=NULL)
{
wxInputStream *in = zip->GetStream();
if ( in != NULL )
{
wxFileOutputStream out( "d:\\testout.txt" );
out.Write(*in);
out.Close();
}
delete zip;
}
是的,我们可以直接从存档中读取zip文件。以上是示例代码。必须以某种方式提取。您可以将提取的文件存储在磁盘或内存中,但您需要提取它。根据它的显示,您可以(显然提取是必要的)。好的。有没有其他方法可以读取必要的文件而不从zip存档中提取?除了wxwidgetsHow,你能从档案中读取一些东西而不提取它吗?这个问题完全违背逻辑。这几乎就像OP不了解ZIP压缩,但觉得他们是解决问题的合适开发人员。无论如何,这是一个XY问题,要求解决错误的问题。投票结束。