Ver Mensaje Individual
  #8  
Antiguo 22-10-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 14
aguml Va por buen camino
Ahora estoy intentando hacer lo mismo con un archivo de texto plano y hago esto:
Código PHP:
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream.h>
#include "Vigenere.h"
//---------------------------------------------------------------------------

using namespace std;

int main()
{
   
ifstream origen;
   
ofstream salida;
   
string semilla,cifrada,descifrada;
   
char *cadena;

   
semilla "aguml";
   
   
//Parte que encripta el archivo
   
origen.open("Main.h");

   if(
origen.good()){
      
origen.seekg(0,origen.end);
      
int length origen.tellg();
      
origen.seekg(0,origen.beg);
      
cadena = new char[length+1];
      
Vigenere *vig = new Vigenere;
      
salida.open("Encriptado.txt");

      if(
salida.good()){
         
origen.read(cadena,length);
         
cadena[length]='\0';
         
salida.write(vig->cifrar(cadenasemilla).c_str(),length);
         
salida.close();
      }
      
delete vig;
      
delete(cadena);
      
origen.close();
   }

   
//Parte que desencripta el archivo
   
origen.open("Encriptado.txt");

   if(
origen.good()){
      
origen.seekg(0,origen.end);
      
int length origen.tellg();
      
origen.seekg(0,origen.beg);
      
cadena = new char[length+1];
      
Vigenere *vig = new Vigenere;
      
salida.open("Desencriptado.txt");

      if(
salida.good()){
         
origen.read(cadena,length);
         
cadena[length]='\0';
         
salida.write(vig->descifrar(cadenasemilla).c_str(),length);
         
salida.close();
      }
      
delete vig;
      
delete(cadena);
      
origen.close();
   }
   return 
0;

Tengo dos problemas.
1. El archivo se abre la primera vez pero despues de cerrarlo intento abrirlo una segunda vez y parece que hay algun problema porque no entra en la parte de desencriptar.
2. Me añade basura al final del archivo y eso que pongo el caracter de fin de cadena al final de la cadena.
¿puedes ayudarme?
Responder Con Cita