Datentausch über STDOUT/STDIN



  • Hi ich habe folgendes Problem
    und zwar möchte ich in meinem Programm Daten mit gzip (http://www.gzip.org#exe) enpacken und die entpackten Daten an mein Programm weitergeben.
    Man kann in gzip Daten mit dem Parameter -cd (file) entpacken und die entpackten daten werden in der konsole ausgegeben und nicht in eine datei geschrieben. Lässt man die Angabe der Datei auch noch wag so holt sich gzip die Daten über stdin und enpackt diese.

    Ich dachte vielleich funzt das so aber da meldet sich gzip und sagt es habe keine daten.

    #include <stdio.h>
    #include <stdlib.h>
    
    void main()
        {
        int i = 0;
        unsigned char daten[153] =
            {
            0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0B, 0xB3, 0x51, 0x74, 0xF1, 0x77, 0x0E, 
            0x89, 0x0C, 0x70, 0x55, 0xF0, 0x08, 0xF1, 0xF5, 0x51, 0x08, 0x08, 0x75, 0xF2, 0xF1, 0x74, 0x56, 
            0x50, 0xD2, 0xD5, 0xD7, 0x0F, 0x37, 0x76, 0xD6, 0xD7, 0x77, 0x09, 0x71, 0x81, 0x48, 0x98, 0xE8, 
            0x19, 0x28, 0x84, 0x14, 0x25, 0xE6, 0x15, 0x67, 0x96, 0x64, 0xE6, 0xE7, 0x25, 0xE6, 0xE8, 0xEB, 
            0xBB, 0xFA, 0x29, 0xD9, 0xF1, 0x72, 0xD9, 0x64, 0x94, 0xE4, 0xE6, 0x80, 0xE9, 0xD4, 0xC4, 0x14, 
            0x20, 0xCD, 0x69, 0x53, 0x92, 0x59, 0x92, 0x93, 0x6A, 0x17, 0x5C, 0x5A, 0x90, 0x5A, 0xA4, 0x10, 
            0x9C, 0x9A, 0x59, 0x92, 0x6A, 0xA3, 0x0F, 0x11, 0x02, 0x2A, 0xD2, 0x87, 0xAA, 0x02, 0x32, 0x93, 
            0xF2, 0x53, 0x2A, 0x21, 0xAC, 0x0C, 0x43, 0x3B, 0x8F, 0xD4, 0x9C, 0x9C, 0x7C, 0x85, 0xF0, 0xFC, 
            0xA2, 0x9C, 0x14, 0x45, 0xA0, 0x22, 0x43, 0x88, 0x84, 0x3E, 0x54, 0x0D, 0x50, 0x04, 0x62, 0x09, 
            0x00, 0x83, 0x0B, 0xC2, 0x01, 0xAD, 0x00, 0x00, 0x00, 
        };
        for(i = 0; i < 153; i++)
            putchar(daten[i]);
        system("gzip -cdf");
        }
    

    Inhalt der gezippten Daten.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    	<title>Super Seite</title>
    </head>
    
    <body>
    
    <h1>Hello World!</h1>
    
    </body>
    </html>
    

    Ich würde mich über eine schnelle Antwort freuen Danke
    XoplqoX



  • Hmm nope. Also entweder über eine Pipe oder du erstellst ein temporäres File, schickst das an gzip und liest es dann wieder aus.

    MfG SideWinder



  • Danke für die Antwort.
    Wie würde man das mit den Pipes unter Windows machen?


Anmelden zum Antworten