我有这样的代码:
#include <libzip/zip.h>
void main()
{
int err;
struct zip* zip_file = zip_open("some_file.zip", 0, &err);
struct zip_file* file_in_zip = zip_fopen_index(zip_file_, 0, 0);
char buff[1024];
std::ofstream exctracted("extracted_data");
while((readed = zip_fread(file_in_zip, buff, 1024)) > 0)
{
exctracted.write(buff, readed);
}
zip_close(zip_file);
}
如果我没有在文件系统上归档(如some_file.zip
),而只是std::istream
代替呢?如何在struct zip*
不将流保存到文件系统的情况下获取对象?我查看了libzip的文档,但不知道该怎么做。