Buenas, tengo un problema en tiempo de ejecución de mi programa.
Voy a escribir aquí lo que me sucede cuando estoy ejecutando el programa:
esteganografia
1 - Ocultar
2 - Revelar
3 - Salir
Seleccione una opcion: 1
Introduzca la imagen de entrada: terminate called after throwing an instance of 'std::ios_base::failure'
what(): basic_filebuf::underflow error reading the file
Abortado (`core' generado)[/i]
Aquí el código:
while(seguir){
cout << "esteganografia\n";
cout << "1 - Ocultar\n";
cout << "2 - Revelar\n";
cout << "3 - Salir\n";
cout << "Seleccione una opcion: ";
cin >> opcion;
switch(opcion){
case 1:
cout << "Introduzca la imagen de entrada: ";
// Creo que aquí está el principal error ya que no me
// deja leer el nombre del archivo.
cin.getline(nombre_imagen,MAXNOMBRE);
strcat(directorio,nombre_imagen);
// Creo que el error se produce por el cin.getline...
if(origen.leerImagen(directorio)){
cout << "\nImagen leida correctamente. ";
cin.ignore();
cout << "\nIntroduzca la imagen de salida: ";
cin.getline(nombre_imagen,MAXNOMBRE);
destino.crear(origen.filas(),origen.columnas());
He dejado dos comentarios para que sepáis a mi parecer donde están los errores. Un saludo