elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Problema con vocales con tilde y caracteres especiales.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Problema con vocales con tilde y caracteres especiales.  (Leído 12,945 veces)
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #10 en: 21 Noviembre 2014, 20:49 pm »

Hola, estoy realizando un programa de cifrado y desencriptación, explico.
.................................................................
En el nivel 2, en una de las fases convierto los caracteres a cadenas. Si los caracteres son convencionales funciona perfectamente, pero si son vocales con tilde o la letra 'ñ' el programa se detiene inesperadamente.

¿Como podría solucionar esto?


¿ Has probado a usar el teclado en español ?. Te pongo un ejemplo de su uso:

Código
  1. #include<stdio.h>
  2. #include<locale.h>
  3.  
  4. int main(void){
  5.  setlocale(LC_ALL, "Spanish");
  6.  printf ("¡Hola leoñanñan! ¿Cuántos tenía años la canción número 2²?\n");
  7.  printf ("2+3.5=%f  \n",2+3.5);
  8.  float a=2.75+3.5;
  9.  printf ("Observa la coma en lugar del punto para marcar los decimales: %g\n",a);
  10.  float b=a*a;
  11.  printf ("b=%f\n",b);
  12.  printf ("¡Ño! enésima \n");
  13.  return 0;
  14. }

¡¡¡¡ Saluditos! ..... !!!!




En línea

NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #11 en: 21 Noviembre 2014, 23:39 pm »

Si, buscando por internet encontré esa solución con la librería locale.h, pero me da error. No encontré nada de que hubiera que linkear ninguna librería al proyecto ni nada parecido.


En línea

NOIS dev7
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #12 en: 22 Noviembre 2014, 00:15 am »

Mh... creo que para tu caso te basta con usar el codigo asccii

Código:
printf("esp: \xA0\xA1\xA2\xA3\xA4\xA5");
De resultado te da
Citar
esp: áíóúñÑ

Saludos
« Última modificación: 22 Noviembre 2014, 00:17 am por _Enko » En línea

Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #13 en: 22 Noviembre 2014, 18:54 pm »

Si, buscando por internet encontré esa solución con la librería locale.h, pero me da error. No encontré nada de que hubiera que linkear ninguna librería al proyecto ni nada parecido.

Desde mi modestísimo conocimiento (aún estoy aprendiendo de forma autodidacta C++) creo que puedo darte una posible solución

Pones obviamente la cabecera "<clocale>

Y en la primera línea del "Main"

Código:
#include <iostream>
#include <clocale>
using namespace std;

int main(){
    setlocale(LC_ALL, "");

}

Esto hace que uses el "locale" en el que actualmente se encuentre tu equipo. Y modificando algunos valores en el setlocale puedes también cambiar a un país específico, pero no he llegado tan lejos.

He probado manipulando cadenas de diferentes maneras, que incluyen acentos o "ñ", como meterlas en strings, vectores, etc... y me funciona, igualmente me permite mostrarlos por consola.

Supongo que hay mejores formas, pero esta de momento me funciona, si te funciona para lo que quieres, mejor que mejor
En línea

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998
zShackra

Desconectado Desconectado

Mensajes: 59


Ver Perfil WWW
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #14 en: 23 Noviembre 2014, 05:04 am »

Sucede a veces... que el compilador que manejas no te permite un correcto uso de la función setlocale, yo uso Visual Studio y funciona sin problemas.

Sólo como opinión, deberían incinerar todos esos compiladores y entornos obsoletos... tantas alternativas decentes y todavía la gente se empeña en usar Dev-C++ y Borland...
« Última modificación: 23 Noviembre 2014, 07:06 am por zShackra » En línea

Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #15 en: 23 Noviembre 2014, 11:56 am »

Un pequeño problema, es que por ejemplo en Linux no existe ese problema de acentos y caracteres "raros", mientras que en consola de DOS (en sistemas windows) si que existe.

La solución del Locale a mi al menos me funciona en sistemas windows, quizás es un poco "parche", pero mejor eso que nada.
En línea

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998
zShackra

Desconectado Desconectado

Mensajes: 59


Ver Perfil WWW
Re: [C++] Problema con vocales con tilde y caracteres especiales.
« Respuesta #16 en: 23 Noviembre 2014, 18:14 pm »

Un pequeño problema, es que por ejemplo en Linux no existe ese problema de acentos y caracteres "raros", mientras que en consola de DOS (en sistemas windows) si que existe.

La solución del Locale a mi al menos me funciona en sistemas windows, quizás es un poco "parche", pero mejor eso que nada.


Para mí no es parche, si es estándar, está bien.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al leer fichero con caracteres especiales
Programación C/C++
Yeiner 2 5,934 Último mensaje 10 Diciembre 2011, 05:32 am
por Lateseles
Problema con caracteres especiales
Programación Visual Basic
rapbyone 2 2,654 Último mensaje 8 Septiembre 2015, 18:56 pm
por rapbyone
Como buscar sin tilde un registro con tilde
Bases de Datos
ElInquisidor 1 2,543 Último mensaje 7 Noviembre 2015, 02:36 am
por 0roch1
Problema con caracteres especiales Python
Scripting
Raiderz92 9 7,833 Último mensaje 16 Marzo 2017, 03:15 am
por Eleкtro
MOVIDO: Problema con caracteres especiales Python
Programación General
Eleкtro 0 2,260 Último mensaje 16 Marzo 2017, 02:08 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines