現在、任意の長さの文字列に格納されている .gz ファイル (stuff.txt.gz など) を解凍する必要があります。私はzipライブラリをかなり見てきましたが、明確な答えはありません。
popen は受け入れられません。プログラムにすべてを含める必要があります。また、これは Windows です。
助けてもらえますか?
現在、任意の長さの文字列に格納されている .gz ファイル (stuff.txt.gz など) を解凍する必要があります。私はzipライブラリをかなり見てきましたが、明確な答えはありません。
popen は受け入れられません。プログラムにすべてを含める必要があります。また、これは Windows です。
助けてもらえますか?
gzunpackライブラリを見てください。
#include "gzunpack.h"
...
// read .GZ file header
FILE *packedFileHandle = fopen("test1.gz", "rb");
GzFileHeader *gzFileHeader = gzUnpackHeader(packedFileHandle);
printf("Header:\n");
printf("compressionMethod = %d\n", gzFileHeader->compressionMethod);
printf("originalFileName = '%s'\n", gzFileHeader->originalFileName);
printf("fileComment = '%s'\n", gzFileHeader->fileComment);
// unpack .GZ file
fseek(packedFileHandle, 0, SEEK_SET); // rewind
FILE *unpackedFileHandle = fopen(gzFileHeader->originalFileName, "wb");
gzUnpackFile(packedFileHandle, unpackedFileHandle);
// free resources
fclose(unpackedFileHandle);
fclose(packedFileHandle);
gzFreeHeader(gzFileHeader);