Pergunta : Ainda mais perguntas sobre a compressão/decompression.

Olá! peritos! o
I começ a onde eu quis estar com a ajuda de minhas últimas duas perguntas aqui (eu sou espantado realmente com este local, prossigo o bom trabalho).
Now sobre com um pouco mais de perguntas sobre a compressão e o Decompression.

If que você quer olhar o código de meu programa de teste, é here.

Well, com meu programa de teste I've conheceu como compressa e decompress trabalhos com boost.iostreams. Agora eu estou procurando uma maneira para que comprima e decompress sem mim que tem que dizer qual a lima do destino será. Desde que eu estarei executando este em um programa maior da análise do registro, eu preciso o processo inteiro de compressa e decompress para ser automático. o
Also, se você peritos pode me apontar a uma maneira de fazer a esta varredura pequena do programa um diretório para limas de “.z” e de decompress as todas, seria muito helpful.
Reviewing o o que eu o preciso indivíduos de me ajudar com: o diretório do
Scan para limas de” .z ", decompress as todas, comprime as limas enquanto começ um por um. a coisa analisada do

One por último, se você sabe de qualquer método que da compressão eu puder se usar com boost.iostreams que é mais eficiente, me deixam por favor saber. O programa da análise eu estarei executando esta compressa e para decompress negócios da funcionalidade com cargas dos dados de limas de registro, assim que seria agradável ter um
da compressão method.

Thanks adiantado. class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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:
notpretty do >#include " do class= " de " codeSnippet781313 do id= do
 do #include

#include 
#include 
#include 

using namespace STD;
using o impulso do namespace:: iostreams;

//---------------------------------------------------------------------
compressa vaga (o arq da corda, amarra mais arqdest)
{
    ifstream dentro (arq.c_str (), ios_base:: em | ios_base:: binário);
    lima do ofstream (arqdest.c_str (), ios_base:: para fora | ios_base:: binário);
    filtering_streambuf para fora;
    out.push (zlib_compressor ());
    out.push (lima);
    impulso:: iostreams:: cópia (em, para fora);
}

//---------------------------------------------------------------------
o vácuo decompress (corda a mais arqdest, o arq da corda)
{
    lima do ifstream (arqdest.c_str (), ios_base:: em | ios_base:: binário);
    ofstream para fora (arq.c_str (), ios_base:: para fora | ios_base:: binário);
    filtering_streambuf dentro;
    in.push (zlib_decompressor ());
    in.push (lima);
    impulso:: iostreams:: cópia (em, para fora);
}
//---------------------------------------------------------------------
cano principal do int ()
{
    arq da corda;
    corda a mais arqdest;
    modalidade do carvão animal;

    cout << “compressa =” “de c/Descompress = “d”” << endl;
    o cout << “escolhe um dos métodos: ” << endl;
    cin >> modalidade;
    se (== “d da modalidade ")
    {
       o cout << “entra na lima a decompressed: ” << endl;
       cin >> mais arqdest;
       o cout << “entra na lima do destino: ” << endl;
       cin >> arq;
       decompress (mais arqdest, arq);
    }
    se (== “c da modalidade ")
    {
       o cout << “entra na lima a ser comprimida: ” << endl;
       cin >> arq;
       o cout << “entra na lima do destino: ” << endl;
       cin >> mais arqdest;
       compressa (arq, os mais arqdest);
    }

    retorno 0;

}
class= do

Resposta : Ainda mais perguntas sobre a compressão/decompression.

>> o diretório da varredura para limas de “.z”, decompress as todas, comprime as limas enquanto começ analisadas um por um.

Você está modificando os dados? Se não, você pode deixar para fora a etapa da compressão. Apenas decompress simplesmente o córrego, e processá-lo.


>> Agora eu estou procurando uma maneira para que comprima e decompress sem mim que tem que dizer qual a lima do destino será.

Se você quer a conservar a uma lima, você ainda precisará de vir de algum modo acima com um nome de arquivo. Que nome de arquivo você quer usar? Você poderia usar o nome de arquivo da lima de fonte, e muda a extensão por exemplo, ou adiciona um sufixo, ou…
Alternativamente, você poderia usar um nome de arquivo provisório automaticamente gerado using o tmpnam (http://www.cplusplus.com/reference/clibrary/cstdio/tmpnam/) por exemplo.
Outras soluções  
 
programming4us programming4us