Ver Mensaje Individual
  #13 (permalink)  
Antiguo 30/10/2015, 03:08
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: ¿Buffer de entrada en modo binario?

Ok amigo, es lo que pasa cuando uno habla desde el desconocimiento, que puede soltar burradas para los oidos de los que realmente saben jejeje.
Ahora si que me funciona esa parte pero ahora tengo otro problema. Con mi codigo, si le digo que quiero descifrar la letra 'ñ' con un desplazamiento de 5 me tendria que mostrar la 'ñ' pero sin embargo me muestra el simbolo matematico '±' incluso teniendo la linea setlocale(LC_ALL, ""); que se supone que es para que me muestre los caracteres especiales ¿no? Con lo que he leido de tu contestacion entiendo que con SetConsoleCP(GetACP()); cambio la pagina de codificacion de la consola pero eso hace que el caracter 'ñ' valga 241 mientras que si miro la tabla ascii extendido veo que vale 145 y que el 241 es realmente el que me está mostrando. ¿tengo que cambiar tambien algo de la salida de consola para que me muestre los caracteres correctamente? ¿puedes ayudarme con esto ultimo?
Edito:
Lo he solucionado esto último después de buscar mucho ya que al usar SerConsoleOutputCP (GetACP ()); me pasaba que al dar a alguna tecla especial como por ejemplo la Ñ no me imprimía esta en consola y encontré este enlace: http://es.comp.lenguajes.c.narkive.c...mostrando-enes
Y con esa ayuda me cree esta funcion:
Código C++:
Ver original
  1. string StringToOem (string cadena)
  2. {
  3.    char *aux=new (nothrow) char [cadena.length ()];
  4.    if (aux != NULL){
  5.       CharToOem (cadena.c_str (),aux);
  6.       cadena=aux;
  7.       delete aux;
  8.    }else {
  9.       cadena="";
  10.    }
  11.    return cadena;
  12. }
Luego de obtener la cadena cifrada hago:
Código C++:
Ver original
  1. encriptada=StringToOem (encriptada);
Y ya la muestro y se ve perfecta.
He probado también a cambiar la fuente de la consola y también funcionaba pero quería saber que opción es más limpia y por cual optarIan.

Última edición por aguml; 30/10/2015 a las 07:06