在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庫。