Pytanie : Jeszcze bardziej pytanie o ściskanie/decompression.

Cześć Ekspert!
I dostać dokąd I chcieć z pomocą mój ostatni dwa pytanie tutaj (Właściwie I zadziwiać z ten miejsce, utrzymanie w górę the dobry praca).
Now dalej z nieco więcej pytanie o Ściskanie i Decompression.

If ty chcieć spojrzenie przy the kod mój próbny program, ono być dołączać here.

Well, z mój próbny program I've dostać jak kompres i decompress praca z boost.iostreams. Teraz I patrzeć dla sposób dla ono i decompress bez co the miejsce przeznaczenia kartoteka być. Ponieważ I uprawomocniać to w wielki program bela analiza, I potrzebować the całość proces kompres i decompress automatyczny.
Also, jeżeli ty Ekspert móc sposób ten mały program obraz cyfrowy książka telefoniczna dla ".z" kartoteka i decompress móc, ono być dużo helpful.
Reviewing być I potrzebować ty facet z:
Scan książka telefoniczna dla" .z " kartoteka, decompress móc, kompresować the kartoteka gdy dostawać zanalizowany jeden one.

One ostatni rzecz, jeżeli ty znać jakaś uciskowy metoda I móc z boost.iostreams który być skuteczny, zadawalać pozwalać. The analiza program I uprawomocniać ten kompres i decompress funkcjonalność transakcja z ładunek dane plik-dziennik, więc ono być ładny silny ściskanie method.

Thanks w advance.
(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:
#include 
#include 

#include 
#include 
#include 

using namespace std;
using namespace zwiększenie:: iostreams;

//---------------------------------------------------------------------
kawitacyjny kompres (smyczkowy arq, smyczkowy arqdest)
{
    ifstream wewnątrz (arq.c_str (), ios_base:: w | ios_base:: binary);
    ofstream kartoteka (arqdest.c_str (), ios_base:: out | ios_base:: binary);
    filtering_streambuf filtering_streambuf;
    out.push (zlib_compressor ());
    out.push (kartoteka);
    zwiększenie:: iostreams:: kopia (w, kopia);
}

//---------------------------------------------------------------------
pustka decompress (smyczkowy arqdest, smyczkowy arq)
{
    ifstream kartoteka (arqdest.c_str (), ios_base:: w | ios_base:: binary);
    ofstream ios_base (arq.c_str (), ios_base:: out | ios_base:: binary);
    filtering_streambuf wewnątrz;
    in.push (zlib_decompressor ());
    in.push (kartoteka);
    zwiększenie:: iostreams:: kopia (w, kopia);
}
//---------------------------------------------------------------------
int magistrala ()
{
    smyczkowy arq;
    smyczkowy arqdest;
    char tryb;

    cout << "Kompres = "c"/Descompress = "D"" << endl;
    cout << "Wybierać jeden the metoda: " << endl;
    cin >> tryb;
    jeżeli (tryb == "D ")
    {
       cout << "Wchodzić Do the kartoteka decompressed: " << endl;
       cin >> arqdest;
       cout << "Wchodzić Do the miejsce przeznaczenia kartoteka: " << endl;
       cin >> arq;
       decompress (arqdest, arq);
    }
    jeżeli (tryb == "c ")
    {
       cout << "Wchodzić Do the kartoteka: " << endl;
       cin >> arq;
       cout << "Wchodzić Do the miejsce przeznaczenia kartoteka: " << endl;
       cin >> arqdest;
       kompres (arq, arqdest);
    }

    powrót (0);

}

Odpowiedź : Jeszcze bardziej pytanie o ściskanie/decompression.

>> Obraz cyfrowy książka telefoniczna dla ".z" kartoteka, decompress, kompresować the kartoteka gdy dostawać zanalizowany jeden jeden.

Ty modyfikować the dane? Jeśli nie, ty móc jeśli nie the uciskowy krok. Właśnie po prostu decompress the strumień, i przetwarzać ono.


>> Teraz I patrzeć dla sposób dla ono i decompress bez co the miejsce przeznaczenia kartoteka być.

Jeżeli ty chcieć save ono kartoteka, ty wciąż potrzebować jakoś z filename. Jaki filename ty chcieć? Ty móc the filename the źródło kartoteka, i zmieniać the rozszerzenie eg. , lub dodawać przyrostek, lub…
Alternatywnie, ty móc automatycznie wytwarzać chwilowy filename using tmpnam (http://www.cplusplus.com/reference/clibrary/cstdio/tmpnam/) eg.
Inne rozwiązania  
 
programming4us programming4us