Frage : Sogar noch mehr Fragen über Kompression/decompression.

Hallo Experten!
I gelangte an, wo ich mithilfe meiner letzten zwei Fragen sein wollte hier (wirklich werde ich mit diesem Aufstellungsort, mach weiter so überrascht).
Now an mit mehr Fragen über Kompression und Decompression.

If, das Sie einen Blick am Code meines Testprogramms, es nehmen möchten, ist angebrachtes here.

Well, mit meinem Testprogramm muss ich können Kompresse und dekomprimiere Arbeiten mit boost.iostreams. Jetzt suche ich nach einer Weise, damit sie ohne mich müssend erklären sich zusammendrückt und dekomprimiert, was die Bestimmungsortakte ist. Da ich dieses in einem größeren Programm der Maschinenbordbuchanalyse einführen werde, benötige ich den vollständigen Prozess der Kompresse und dekomprimiere, um automatisch zu sein. mit
Also, wenn Sie Experten mich auf eine Weise zeigen können, diesen kleinen Programmscan ein Verzeichnis für „.z“ Akten zu bilden und sie alle zu dekomprimieren, würde es viel helpful.
Reviewing, was ich Sie benötige Kerle, zu helfen mir:
Scan Verzeichnis für“ .z " Akten, dekomprimieren sie alle, zusammendrücken die Akten, während sie analysierte.

One Sache, wenn Sie von irgendeiner Kompressionsmethode, die ich wissen mit boost.iostreams anwenden kann, das leistungsfähiger ist, mich eins nach dem anderen zuletzt bitte informieren erhalten. Das Analysenprogramm werde ich diese Kompresse und Funktionalitätsabkommen mit Lasten von Daten der Protokolldateien zu dekomprimieren einführen, also würde es nett sein, ein stärkeres Kompression method.

Thanks im Voraus.
zu haben
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
#include 
#include 

#include 
#include 
#include 

using namespace-Geschlechtskrankheit;
using namespace-Erhöhung:: iostreams;

//---------------------------------------------------------------------
leere Kompresse (Schnur arq, reihen arqdest) auf
{
    ifstream innen (arq.c_str (), ios_base:: in | ios_base:: Zweiheit);
    ofstream Akte (arqdest.c_str (), ios_base:: heraus | ios_base:: Zweiheit);
    filtering_streambuf heraus;
    out.push (zlib_compressor ());
    out.push (Akte);
    Erhöhung:: iostreams:: Kopie (in, heraus);
}

//---------------------------------------------------------------------
Lücke dekomprimieren (die Schnur arqdest, das Schnur arq)
{
    ifstream Akte (arqdest.c_str (), ios_base:: in | ios_base:: Zweiheit);
    ofstream heraus (arq.c_str (), ios_base:: heraus | ios_base:: Zweiheit);
    filtering_streambuf innen;
    in.push (zlib_decompressor ());
    in.push (Akte);
    Erhöhung:: iostreams:: Kopie (in, heraus);
}
//---------------------------------------------------------------------
int-Hauptleitung ()
{
    Schnur arq;
    Schnur arqdest;
    Putzfraumodus;

    cout << „Kompresse = „c-“/Descompress = „d““ << endl;
    cout << „wählen eine der Methoden: “ << endl;
    cin >> Modus;
    wenn (Modus == „d ")
    {
       cout << „kommen die dekomprimiert zu werden Akte: “ << endl;
       cin >> arqdest;
       cout << „kommen die Bestimmungsortakte: “ << endl;
       cin >> arq;
       dekomprimieren (arqdest, arq);
    }
    wenn (Modus == „c ")
    {
       cout << „kommen die zusammengedrückt zu werden Akte: “ << endl;
       cin >> arq;
       cout << „kommen die Bestimmungsortakte: “ << endl;
       cin >> arqdest;
       Kompresse (arq, arqdest);
    }

    Rückkehr 0;

}

Antwort : Sogar noch mehr Fragen über Kompression/decompression.

>> dekomprimieren Scan-Verzeichnis für „.z“ Akten, sie alle, zusammendrücken die Akten, während sie eins nach dem anderen analysiert erhalten.

Ändern Sie die Daten? Wenn nicht, können Sie den Kompressionsschritt auslassen. Den Strom gerade einfach dekomprimieren und ihn verarbeiten.


>> Jetzt suche ich nach einer Weise, damit sie ohne mich müssend erklären sich zusammendrückt und dekomprimiert, was die Bestimmungsortakte ist.

Wenn Sie sie zu einer Akte speichern möchten, müssen Sie noch mit einem Dateinamen irgendwie aufkommen. Welchen Dateinamen möchten Sie verwenden? Sie konnten den Dateinamen der Quellakte verwenden und ändern die Verlängerung z.B. oder addieren ein Suffix oder…
Wechselweise konnten Sie einen automatisch erzeugten temporären Dateinamen using tmpnam verwenden (http://www.cplusplus.com/reference/clibrary/cstdio/tmpnam/) z.B.
Weitere Lösungen  
 
programming4us programming4us