Fråga : Även mer ifrågasätter om kompression/decompression.

Hi experter!
I fick till var jag önskade att vara med hjälpen av min sist två ifrågasätter här (faktiskt mig förmiddagen som förbluffas med denna plats, uppehället upp det bra arbetet).
Now med några mer ifrågasätter på om kompression, och Decompression.

If som du önskar att ta en look på kodifiera av mitt, testar program, det är fäst here.

Well, med mitt testar programet I've fick veta hur kompressen och decompress arbeten med boost.iostreams. Jag nu förmiddagen som långt söker efter a för det till kompressen och, decompress utan mig som måste att berätta vad destinationen sparar ska är. Sedan jag ska, genomför detta i ett större program av loggar analys, jag behöver helheten som är processaa av kompress och, decompress för att vara automatisk.
Also, om du experter kan peka mig till a långt för att göra detta lite programbildläsning ett arkiv för ”.z”, sparar och decompress alla dem, det skulle är ett lott helpful.
Reviewing vad jag behöver dig grabbar att hjälpa mig med: arkivet för
Scan för” .z " sparar, decompress alla dem, den kompressen sparar, som de får analyserade en vid one.

One det sist tinget, om du vet av någon kompressionsmetod som jag kan använda med boost.iostreams, som är effektivare, behar l5At mig vet. Analysprogramet som jag ska, genomför denna kompress och decompress funktionsduglighetsavtal med laddar av data av loggar sparar, så det skulle är trevligt att ha en starkare kompression method.

Thanks i advance.
> för
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:
36:
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:
" codeBody " " för >#include för class= " för #include #include #include using namespace std; using namespace-ökning:: iostreams; //--------------------------------------------------------------------- utan laga kraft kompress (stränga arq, stränger mest arqdest), { ifstream in (arq.c_str (), ios_base:: i | ios_base:: binärt); ofstream sparar (arqdest.c_str (), ios_base:: ut | ios_base:: binärt); filtering_streambuf ut; out.push (zlib_compressor ()); out.push (spara); ökning:: iostreams:: kopiera (i, ut); } //--------------------------------------------------------------------- utan laga kraft decompress (stränga mest arqdest, stränger arq), { ifstream sparar (arqdest.c_str (), ios_base:: i | ios_base:: binärt); ofstream ut (arq.c_str (), ios_base:: ut | ios_base:: binärt); filtering_streambuf in; in.push (zlib_decompressor ()); in.push (spara); ökning:: iostreams:: kopiera (i, ut); } //--------------------------------------------------------------------- huvudsaklig int () { stränga arq; stränga mest arqdest; bränna till kol funktionsläget; cout << ”kompress = ”c-”/Descompress = ”D”” << endl; cout << ”väljer en av metoderna: ” << endl; cin >> funktionsläge; om (funktionsläge== ”D”) { cout << ”skriver in spara som ska är decompresseds: ” << endl; cin >> mest arqdest; cout << ”skriver in destinationen sparar: ” << endl; cin >> arq; decompress (mest arqdest, arq); } om (funktionsläge== ”c”) { cout << ”skriver in spara för att vara komprimerad: ” << endl; cin >> arq; cout << ”skriver in destinationen sparar: ” << endl; cin >> mest arqdest; kompress (arq som, är mest arqdest); } retur 0; }
" klar "

Svar : Även mer ifrågasätter om kompression/decompression.

>> bildläsningsarkivet för ”.z” sparar, decompress alla dem, den kompressen sparar, som de får analyserade en vid en.

Du ändrar datan? Om inte, du kan lämna ut kompressionen för att kliva. Decompress precis enkelt strömma och bearbeta den.


>> Jag nu förmiddagen som långt söker efter a för det till kompressen och, decompress utan mig som måste att berätta vad destinationen sparar ska är.

Om du önskar till räddningen den till en spara, du ska fortfarande behov somehow att komma upp med en filename. Vilken filename du önskar att använda? Du kunde använda filenamen av källan sparar och ändrar f8orlängningen eg. , eller tillfoga en ändelse, eller…,
Alternativt du kunde använda en automatiskt frambragd tillfällig filename using tmpnam (http://www.cplusplus.com/reference/clibrary/cstdio/tmpnam/) eg.
Andra lösningar  
 
programming4us programming4us