Ir ao conteúdo

Divisão de arquivos em C++


kassane

Posts recomendados

Postado

Olá pessoal, beleza?

 

Estou com um problema na junção dos arquivos. No inicio eu consigo dividi-los, mas quando preciso uni-los novamente acaba corrompendo o arquivo. :muro::help:

 

Divisão:

#include <iostream>#include <fstream>using namespace std;int main (void) {char * buffer;int part = 2;long size;ifstream infile ("Gerenciador_WIFIv2.exe",ifstream::binary);ofstream outfile ("Gerenciador_WIFIv2.exe.01",ofstream::binary);ofstream outfile2 ("Gerenciador_WIFIv2.exe.02",ofstream::binary);// get size of fileinfile.seekg(0,ifstream::end);size=infile.tellg();infile.seekg(0);// allocate memory for file contentbuffer = new char [size];// read content of infileinfile.read (buffer,size);// write to outfileif (size==size){outfile.write (buffer,size/part);outfile2.write (buffer,size/part);}// release dynamically-allocated memorydelete[] buffer;outfile.close();infile.close();outfile2.close();return 0;}

união em batch:

copy /b nome_arquivo.exe.01+nome_arquivo.exe.02 nome_arquivo_merged.exepause

Provavelmente se existe problema na junção dos arquivos, pode se dizer que o erro estar na divisão, mas não sei o que, porque funciona 100%! :confused:

Postado

Eu alterei esses comandos abaixo:

// write to outfileif (size==size){outfile.write (buffer,size/part);outfile2.write (buffer+size/part,size);}

Divide também, mas o app sofre um erro no final e o arquivo splitted funciona normalmente! :D (Essa bateu na trave, sqn)! (_(

Postado

Situação:

Arquivo tem: 15 bytes.

Se divido então: a = 7, b = 7;

Quando uno então: a + b = 14 !!!

:P Faltou 1 byte!

 

 

 

 

B) Se algoritmo previu isso, então não sei mais,

está acima de minhas capacidades.

Postado

Você não deveria checar se size é impar ou par antes de dividir? :D Também não sei como resolver o problema, heim. É só um pitaco mesmo.

 

Imagino que o segundo parâmetro da função std::ofstream::write() seja um inteiro positivo não nulo como o operador sizeof().

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!