كيف يمكنني إلغاء ضغط ملف مضغوط مع Fusecompress / LZO؟

StackOverflow https://stackoverflow.com/questions/989826

  •  13-09-2019
  •  | 
  •  

سؤال

لقد قمت بتثبيت FuseCoMprpress من الدليل مضغوط / في Fusecompress / قمت بنسخ ملف كبير (عدة جيجابايت) إلى دليل FuseCompress (موافق، أنا MV'D IT). الملف المضغوط في الدليل المضغوط / هو طول 1،221،396،660. ومع ذلك، لا يمكنني إزالة / إلغاء ضغط الملف. Fusecompress لديه خطأ في الذاكرة: "لا يمكن تخصيص الذاكرة".

هل هناك على أي حال للاستفادة من مكتبة LZO لكتابة روتين إلغاء ضغط الملف المضغوط؟

جربت ما يلي، لكن حصلت على خطأ تجزئة:

    char buffer[OUT_LEN];
    char outbuffer[IN_LEN];
    int read;
    lzo_uint writ;
    unsigned long totalWrit = 0;

    while( (read = fread( buffer, sizeof(char), OUT_LEN, stdin )) > 0 )
    {
            r = lzo1x_decompress( buffer, read, outbuffer, &writ, NULL );
            fwrite( outbuffer, sizeof(char), writ, stdout );
            totalWrit += writ;
    }

    fprintf( stderr, "\nDone. %d bytes written out.\n\n", totalWrit );

تحديث:

ردا على مشروع القانون، فإن أول 160 بايت من الملف هي:

00000000 01 1F 01 5D FF 89 04 00 A2 20 85 04 30 6E BA 48 | ...] ........0N.H | 00000010 00 00 00 01 02 00 00 00 00 00 00 11 3C 3C 3C 20 53 | ........... <<< S | 00000020 75 6E 20 56 69 72 74 75 61 6C 42 6F 78 20 44 69 | Un VirtualBox DI | 00000030 73 6B 20 49 6D 61 67 65 20 3E 3E 3E 0A 00 3B 00 | SK Image >>> ..؛؛. | 00000040 00 08 7F 10 DA BE 01 00 01 00 90 01 00 54 00 3B | ............. T. | 00000050 A8 00 20 C9 70 00 02 02 00 00 00 A2 2D B8 03 6C | .. .P .......- .. L | 00000060 02 A9 02 80 A9 01 10 B4 01 00 15 28 00 00 52 08 | ........... (.. R. | 00000070 00 00 A4 15 30 3E 76 22 73 4C 96 3D BF 8F CA 66 | .... 0> v "sl. = ... F | 00000080 A8 93 2B A6 83 65 44 4D 37 41 A4 02 CA BB 56 4E | .. + .. edm7a .... VN | 00000090 A9 E9 B0 05 39 14 00 05 04 00 00 FF 00 00 00 3F | .... 9 ..........؟ |
هل كانت مفيدة؟

المحلول

يجب أن تبدو كيف تم ضغط الملف. يتم تخزين رأس الساحرات والبيانات الإضافية في الملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top