main()
{
char source[1560]="mrinalsaikiaismynamenwhatnotiamgreatajajlksjkkslskldklkdklkdlwhgygehehhejhjejdjjjjjljlkkjjjjjjaasasaaasjsjssjskjkjalsjalksjajslkjckljdjfjfjfjffjkllkjldkjlskjlkjkljklklkalksklksjkjskjksjlksjjskjklsjsjskjkjkjjjsjkjjjjjbhbjbbjbjbssjbsjsbsjssjssjhjdjdjjkkmrinalsaikiaismynamenwhatnotiamgreatajajlksjkkslskldklkdklkdlwhgygehehhejhjejdjjjjjljlkkjjjjjjaasasaaasjsjssjskjkjalsjalksjajslkjckljdjfjfjfjffjkllkjldkjlskjlkjkljklklkalksklksjkjskjksjlksjjskjklsjsjskjkjkjjjsjkjjjjjbhbjbbjbjbssjbsjsbsjssjssjhjdjdjjkk";
int ret ;
bz_stream comp_stream;
comp_stream.next_in = source;
comp_stream.avail_in =strlen(source);
comp_stream.avail_out = 502 ;
char arr[comp_stream.avail_out];
comp_stream.next_out =arr;
comp_stream.opaque = NULL;
comp_stream.bzfree = NULL;
comp_stream.bzalloc = NULL;
comp_stream.state = NULL;
BZ2_bzCompressInit(&comp_stream,1,0,0);
printf("length before compression = %d \n",strlen(source));
printf(" string original is %s \n",(comp_stream.next_in));
if(BZ2_bzCompress(&comp_stream, BZ_FINISH) == BZ_STREAM_END)
{
printf("copressed Data\n");
printf("compressed size length = %d \n",(502 - comp_stream.avail_out));
}
printf("compressed string = %s \n",comp_stream.next_out);
Decompress(comp_stream.next_out,(502 - comp_stream.avail_out));
BZ2_bzCompressEnd(&comp_stream);
答案 0 :(得分:0)
如果有任何数据被写入,# ignore everything to start
*
# except these
!**/
!*.xml
!.gitignore
# then ignore these
builds/
plugins/
war/
lastStable/
lastSuccessful/
的值将会改变,就像next_out
会在读取任何数据时更改一样。换句话说,您尝试在压缩数据结束后立即从解压缩数据。