Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Wolfman19951 en 4 Agosto 2016, 00:10 am



Título: Archivos secuenciales copia de un .exe
Publicado por: Wolfman19951 en 4 Agosto 2016, 00:10 am
Me están pidiendo que utilice la copia de contenido para copiar un archivo .exe con archivos secuenciales para luego comparar el tamaño pero no se me ocurre cómo implementarlo. alguna idea?

sé copiar archivos de texto, pero el problema me pide copiar un archivo .exe cosa que se me hace extraña y me enrreda


PD: Usando la libreria fstream.


Título: Re: Archivos secuenciales copia de un .exe
Publicado por: AlbertoBSD en 4 Agosto 2016, 01:18 am
Es lo mismo que escribir cualquier archivo de texto solo que ahora el buffer es binario. Es facil de realizar con stdio.hy deberia de ser mas facil con esa libreria que dices ya que casi todas las cosas estan mas implementadas y mas sencillas.

He aqui un link:

http://stackoverflow.com/questions/12997131/stdfstream-buffering-vs-manual-buffering-why-10x-gain-with-manual-buffering

Saludos.


Título: Re: Archivos secuenciales copia de un .exe
Publicado por: Wolfman19951 en 4 Agosto 2016, 20:27 pm
Es lo mismo que escribir cualquier archivo de texto solo que ahora el buffer es binario. Es facil de realizar con stdio.hy deberia de ser mas facil con esa libreria que dices ya que casi todas las cosas estan mas implementadas y mas sencillas.

He aqui un link:

http://stackoverflow.com/questions/12997131/stdfstream-buffering-vs-manual-buffering-why-10x-gain-with-manual-buffering

Saludos.

Hola, logré hacer la copia mediante archivos secuenciales, pero ahora tengo otro problema... La copia se genera con unos pocos bytes más que el archivo original. Por ejemplo, hago una copia de un .txt que pesa 200 bytes, la copia vale 204 bytes, por ejemplo. Supongo que es porque el cursor al llegar al final de archivo deja un espacio en blanco, acá dejo mi código:

Código
  1. void CopiaImagenSec(){
  2. char line[255];
  3. ifstream origen("codigo.txt" , ios::in);
  4. ofstream destino("copiacodigo.txt" , ios::out);
  5.  
  6. if(!origen.fail() == 1 && (!destino.fail() == 1)){
  7. if(!origen.eof()){
  8. while(!origen.eof()){
  9. origen.getline(line, 255);
  10. destino<<line<<endl;
  11. }
  12. }
  13. }
  14.  
  15. origen.close();
  16. destino.close();
  17. }


Título: Re: Archivos secuenciales copia de un .exe
Publicado por: AlbertoBSD en 5 Agosto 2016, 01:25 am
Tal vez no Limpiaste el buffer "line" y tenia algo de basura.