在C++中读取压缩文件可以使用库来实现压缩文件的解压缩操作,常用的库有zlib、libzip、libarchive等。以下是一个使用zlib库来读取压缩文件的示例代码:
#include <iostream>
#include <fstream>
#include <zlib.h>
int main() {
const char* filename = "compressed_file.gz";
gzFile file = gzopen(filename, "rb");
if (file == NULL) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
char buffer[1024];
int num_read;
while ((num_read = gzread(file, buffer, sizeof(buffer))) > 0) {
std::cout.write(buffer, num_read);
}
gzclose(file);
return 0;
}
在这个示例中,我们使用gzopen()
函数打开一个压缩文件,然后使用gzread()
函数读取文件内容并输出到标准输出。最后使用gzclose()
函数关闭文件。请注意,这个示例使用zlib库,因此在编译时需要链接zlib库。