sábado, 26 de abril de 2025

02.- Programación I - Biblioteca "Locale.h" y depuración de variables string


DEPURACIÓN DE VARIABLES STRING

Depurar variables string con la versión oficial 5.9.2 es muy complicado, lamentablemente la versión oficial presenta problemas de depuración, veamos un ejemplo:

Como se puede ver la variable no se visualiza para poder apreciarla, hay que desplegarla:


esto es fastidioso pero tolerable, el real problema es cuando tratas de ejecutar el programa línea a línea con la opción "Siguiente Paso", al llegar a una línea con variable tipo "string", la depuración se queda colgada. En consecuencia No depures variables "string con la versión estándar 5.9.2 (versión azul)" 

La alternativa es usar la versión 6.3 de la empresa embarcadero, la cual opera apropiadamente la depuración de variables "string":


SE VISUALIZAN BIEN LAS VARIABLES Y EL PROGRAMA NO SE CUELGA CON LA OPCIÓN SIGUIENTE PASO.

Biblioteca Locale.h

Mucha veces los estudiantes desean trabajar con caracteres acentuados (á, é, í, ó y ú) y la letra eñe (ñ), el dev C++ en su versión oficial 5.9.2 (versión azul) dispone de una biblioteca que permite adecuar el lenguaje de las variable string a el lenguaje que tu desees, esta biblioteca se llama "Locale.h", la misma debe ser incluida en el programa y al iniciar tu programa debes indicarle bajo que lenguaje trabajaras, veamos un ejemplo: 

#include <iostream>

#include <locale.h> //LIBRERIA PARA TRABAJAR CON LOS CARACTERES ACENTUADOS Y LA LETRA Ñ

using namespace std;

main()

{

string variable="Este programa utiliza caracteres acentuados y la letra eñe: áéíóúñ ÁÉÍÓÚÑ";

setlocale(LC_ALL, "spanish"); //SETEAR EL LEGUAGE EN ESPAÑOL

cout <<variable<<endl;

}


de no incluir la librería Locale.h, el resultado es desastroso:



Por lo tanto si deseas usar caracteres especiales debes incluir esta biblioteca.

La biblioteca "locale.h" trabaja bien en la versión estándar 5.9.2 ya que esta esta diseñada para el mercado mundial. la versión de la empresa embarcadero no trabaja bien con la biblioteca "locale.h", a mediados del año pasado les pase cun correo notificando esta situación, ellos contestaron que dado mi requerimiento harian la corrección para la versión 6.4. 

Para trabajar con caracteres acentuados en la versión actual de la empresa embarcadero 6.3 (versión roja), debes primero compilar el programa en la versión estándar 5.9.2 (versión azul) y cerrar la versión azul y abrir el programa en la versión de la empresa embarcadero 6.3 (versión roja) otra opción que funciona es salvar con tro nombre en embarcadero y luego compilar nuevamente, no hace falta que este completo el programa basta con que tenga el encabezado y la biblioteca "locale.h" agregada. 

Si por error presionaste "Yes", copia el codigo, cierra embarcadero, abre nuevamente pega el código y repite el proceso desde cero. 

A partir de ese momento puedes trabajar el programa y los caracteres acentuados operaran apropiadamente, pero debes recordar que al compilar no debes convertir los caracteres a UTF8, de hacerlo perderás los caracteres acentuados y la letra "ñ". Para que esto no suceda debes seleccionar "NO" cada vez que el programa te lo indique.



 

Éxito!!!!!


No hay comentarios.:

Publicar un comentario