Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/10/2015, 16:59
jorgegl
 
Fecha de Ingreso: octubre-2015
Mensajes: 1
Antigüedad: 8 años, 6 meses
Puntos: 0
Busqueda Respuesta: ¿Buffer de entrada en modo binario?

Cita:
Iniciado por aguml Ver Mensaje
Me parece increíble que ni el estándar de C ni el de C++ estén preparados para algo tan básico como capturar del teclado en binario. Los caracteres estándar llegan hasta 125 y el resto no simplemente porque un char no da más pero un uchar si que puede ya que no hay negativos así que no entiendo porque el código que puse no captura por ejemplo la Ñ que si que esta entre los 255 caracteres.
Que quieres decir por capturar del teclado en binario?

Que entiendes por caracteres estandar?

En realidad si puedes almacenar un caracter con codigo ascii superior a 127 en una variable de tipo char. Por ejemplo la ñ que vale 150. La distincion entre con signo o sin signo solo te afecta para cuestiones aritmeticas. A ti te da igual, al fin y al cabo las dos son un espacio de memoria de 1 byte.

Ese no es el problema, y de hecho para imprimir por pantalla una ñ no te hace falta ni siquiera un wide-character, y mucho menos tirar de unicode. Mira a ver si esto te funciona e imprime una "ñ" despues de "abc". Luego prueba a comentar la linea del "setlocale" y mira a ver si ya no eres capaz de imprimirla. Si es asi, prueba a meter la linea del "setlocale" en tu programa, al principio, y mira a ver si funciona.

Código:
#include <iostream>
#include <clocale>

int main()
{
char a[] = "abcñ";
std::setlocale(LC_ALL, "");
std::cout << a << std::endl;

return 0;
}