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

Funciona a medias. Si imprime caracteres como la ñ pero el problema principal es que al comparar los caracteres introducidos con los de una string, aun introduciendo lo mismo no funciona. Si se mira el valor que hay en lo que introducimos y miramos el valor almacenado en la cadena en la que buscamos ese valor veremos que no es el mismo. Hice este pequeño codigo para que veas la diferencia y a ver si pueden ayudarme:
Código C++:
Ver original
  1. #include <iostream>
  2. #include <clocale>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.    char a[] = "ñ";
  10.    char b[2]={0};
  11.    bool encontrada=false;
  12.  
  13.    setlocale(LC_ALL, "");
  14.    cout << "Introduce el caracter a buscar en 'a': ";
  15.    cin.getline(b,2,'\n');
  16.    for(int i=0;i<strlen(a);i++){
  17.       if(a[i]==b[0]){
  18.          cout << "encontrada en la cadena " << a << " en la posicion: " << i << endl;
  19.          encontrada=true;
  20.       }
  21.    }
  22.    if(!encontrada)
  23.       cout << "no encontrada en la cadena " << a << endl;
  24.  
  25.    cout << "Valor de a: " << (char)a[0] << endl;
  26.    cout << "Valor de b: " << (char)b[0] << endl;
  27.    return 0;
  28. }