0
zlib 설명서에 따르면이 오류는 "출력 버퍼에 공간이 부족합니다"라고 표시됩니다. 아래는 아주 기본적인 압축 루틴입니다. 또한 nUncompressedBuffer가 올바르게 채워지는지 확인했습니다. 또한 nCompressedBuffer가 nUncompressedBuffer보다 훨씬 크며 버퍼 크기의 조합이 필요 없다는 것을 알 수 있습니다. 도와주세요 :)zlib.h 유틸리티 함수 compress를 사용하여 데이터 압축을 시도하면 항상 Z_BUF_ERROR가 반환됩니다.
CDataBlock* CCompressionManager::Compress2(CDataBlock* pInBlock)
{
U8 nCompressedBuffer[100000];
U8 nUncompressedBuffer[1000];
S8 status = 0;
uLongf compressedBufferLength = 0;
pInBlock->GetData()->GetData(nUncompressedBuffer, 1000);
status = compress2(nCompressedBuffer,
&compressedBufferLength,
nUncompressedBuffer,
pInBlock->GetData()->GetLength(),
Z_DEFAULT_COMPRESSION);
printf("status is: %i\n", status);
//this always results in -5 Z_BUF_ERROR
}
글쎄, 당신은 ... 출력 버퍼가 0 바이트 길이 – PlasmaHH
@PlasmaHH Iyiyi 그것을 말해! 당신은 선생님입니다. 내 말은, 고마워. – user1464251
첫 번째 주석 작성자는 해당 주석을 응답으로 변환해야합니다. 그것은 정답입니다. –