Acentos, colores y algo mas en modo consola

Solo disponible en BuenasTareas
  • Páginas : 2 (390 palabras )
  • Descarga(s) : 0
  • Publicado : 5 de febrero de 2011
Leer documento completo
Vista previa del texto
Artículo: Aplica a: Autor:

Manejando acentos, cursor y más con Visual C++ modo consola. Visual C++ Angel Pacheco Gutiérrez.

Microsoft, Visual Estudio C++, Windows son marcas registradaspropiedad de Microsoft Corp. Otras marcas que pudieran aparecer referidas en este artículo son propiedad de sus respectivos autores.

Manejando acentos, posición del cursor y más sobre la consola deWindows con Microsoft Visual C++.
Escribiendo acentos y otros caracteres extendidos.
Al enviar salidas de texto a la consola de Windows no es posible manejar los caracteres extendidos del código ASCII,como los acentos y diéresis que se podían enviar a la pantalla en el Turbo C++ y DOS. Esto se debe a que la consola de Windows utiliza un juego de caracteres basado en Unicode que sustituye loscaracteres extendidos del código ASCII superiores al 127. Por omisión .Net Framework utiliza código Unicode UTF-16 que permite el uso de diferentes tipos de idiomas, algunos con requerimientos de hasta tresbytes para poder representar un glifo (carácter) como el japonés. Así que el ASCII de 8 bits ha quedado relegado y se deberá utilizar una rutina que permita configurar la salida de los caracteresextendidos para cada tipo de consola y sistema operativo en que corra la aplicación. Si la aplicación ejecuta la siguiente línea de código: printf("¡Así se ejecutarán las órdenes!\n"); La salida porconsola se verá de esta manera: La cadena de caracteres enviada por medio de printf no muestra los acentos y el signo de apertura de admiración. Esto se debe a que el signo de apertura de admiración y losacentos están representados en el código ASCII por arriba del 127. Una solución trivial es la que se presenta a continuación. En ella se descompone la cadena del mensaje en cada uno de sus caracteres yse asigna el código correcto para ser desplegado en la consola de Windows.
void mensaje(char texto[]){ gotoxy(x,y); char texto_[254]; double n; n=strlen(texto); strcpy_s(texto_,n+1,texto);...
tracking img