Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Carbide C/C#/C++


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 24-nov-2009, 20:33   #1
Miembro
 
Fecha de Ingreso: noviembre-2009
Amigos 0
Mensajes: 59
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado Acentos en c


Andando programando, me di cuenta que mi codificacion a la hora de ejecutar, las palabras que tienen acento, me las pone como raro, con un símbolo o algo asi, quiero suponer que es por que no tiene... no se... un codec o algo asi para leer acentos. Como lo soluciono??? Es mediante alguna librería o función especifica?? o no se puede hacer nada.

Por ejemplo, se que java, al compilar en unix, se le puede meter una linea de codgio antes de ejecutar el .java y con eso se soluciona, pero en C no se como aplicarlo o bien si existe.

gracias de ante mano.
*salud
wewHackUchiha está desconectado   Responder Citando
Antiguo 25-nov-2009, 15:44   #2
Banned
 
Fecha de Ingreso: noviembre-2008
Amigos 6
Mensajes: 4.317
Gracias: 0
Agradecido 46 veces en 29 mensajes.
Predeterminado Re: Acentos en c

Bueno creo que ya es hora de volver a ayudar a la gente aquí en C/C++.

Código:
#include <stdio.h>
int main(){
printf("Hay un %crbol, que mat%c a un colibr%c.",160,162,161);
printf("\nHay un \xA0rbol, que mat\xA2 a un colibr\xA1.");
return 0;
}
  
Espero que entiendas el porque.

Ahora todos.

á –> printf(”%c”,160);
é –> printf(”%c”,130);
í –> printf(”%c”,161);
ó –> printf(”%c”,162);
ú –> printf(”%c”,163);

á –> printf(”\xA0″);
é –> printf(”\x82″);
í –> printf(”\xA1″);
ó –> printf(”\xA2″);
ú –> printf(”\xA3″);
P4|3L0 está desconectado   Responder Citando
Antiguo 25-nov-2009, 20:59   #3
Miembro
 
Fecha de Ingreso: noviembre-2009
Amigos 0
Mensajes: 59
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado Re: Acentos en c

ahhhh, creo entender, quiero pensar que lo primero es codigo ascii, del acento y el segundo en hexadecimal. Ya corri el ejemplo y efectivamente tienen acento las palbras, pero que pasa, cuando estoy leyendo un texto que tiene acentos en diversas palabras, yo las estoy guardando y luego mostrando, en ese momento no se lo que aparecera en pantalla, no hay alguna manera para hacer eso de los acentos de manera global... creo que no me estoy dando a entender bien...

si digamos que si yo leo un .txt y lo muestro en pantalla, de que manera puedo hacer para que las palabras se muestren acentuadas?

gracias!!
wewHackUchiha está desconectado   Responder Citando
Antiguo 26-nov-2009, 02:24   #4
Moderador
 
Avatar de Fashion
 
Fecha de Ingreso: junio-2007
Amigos 4
Mensajes: 2.053
Gracias: 55
Agradecido 828 veces en 324 mensajes.
Predeterminado Re: Acentos en c

Cita:
Iniciado por HackUchiha
ahhhh, creo entender, quiero pensar que lo primero es codigo ascii, del acento y el segundo en hexadecimal. Ya corri el ejemplo y efectivamente tienen acento las palbras, pero que pasa, cuando estoy leyendo un texto que tiene acentos en diversas palabras, yo las estoy guardando y luego mostrando, en ese momento no se lo que aparecera en pantalla, no hay alguna manera para hacer eso de los acentos de manera global... creo que no me estoy dando a entender bien...

si digamos que si yo leo un .txt y lo muestro en pantalla, de que manera puedo hacer para que las palabras se muestren acentuadas?

gracias!!
Código:
#include<stdio.h>

int obtener_longitud(char *cadena)
{
	char *p = cadena;
	while(*p != '\0')
		p++;
	return (int)(p-cadena);
}

char intercambiar(char car)
{
	switch(car)
	{		
		case 'á': return 160;				
		case 'é': return 130;
		case 'í': return 161; 
		case 'ó': return 162; 
		case 'ú': return 163;
		default : return car;
	}
}

int main(void)
{		
	char cadena[30] = "Holá cómo estás";	
	int nLon = obtener_longitud(cadena);		
	for(int i=0; i<=nLon; i++)	
		cadena[i] = intercambiar(cadena[i]);
	printf("%s\n", cadena);

    return 0;
}
  
__________________

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

Fashion está desconectado   Responder Citando
Antiguo 26-nov-2009, 15:05   #5
Banned
 
Fecha de Ingreso: noviembre-2008
Amigos 6
Mensajes: 4.317
Gracias: 0
Agradecido 46 veces en 29 mensajes.
Predeterminado Re: Acentos en c

Bueno creo que a lo que se refiere el es a coger un fichero y leerlo y que si lleva tildes, se muestren las tildes bien, me he basado en el code de Fashion, pero por pura y llana VAGUERIA

Código:
#include<stdio.h>

int obtener_longitud(char *cadena)
{
	char *p = cadena;
	while(*p != '\0')
		p++;
	return (int)(p-cadena);
}

char intercambiar(char car)
{
	switch(car)
	{
		case 'á': return 160;
		case 'é': return 130;
		case 'í': return 161;
		case 'ó': return 162;
		case 'ú': return 163;
		default : return car;
	}
}


int main(void)
{
  FILE *f = fopen("fichero.txt", "r");
	char string[300];
while (fgets(string, 100, f) != NULL)
{
  int nLon = obtener_longitud(string);
	int i;
	for(i=0; i<=nLon; i++)
		string[i] = intercambiar(string[i]);
	printf("%s\n", string);/* Aquí tratamos la línea leída */
}


    return 0;
}
  
Espero que para ser mi post de re-ayuda te haya ayudado
P4|3L0 está desconectado   Responder Citando
Antiguo 26-nov-2009, 16:24   #6
Banned
 
Fecha de Ingreso: noviembre-2008
Amigos 6
Mensajes: 4.317
Gracias: 0
Agradecido 46 veces en 29 mensajes.
Predeterminado Re: Acentos en c

Mira un tema que acabo de ver que te puede ayudar mucho.

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



Has de cambiar la @ por una 'a' y sera la página correspondiente.
P4|3L0 está desconectado   Responder Citando
Antiguo 26-nov-2009, 20:36   #7
Miembro
 
Fecha de Ingreso: noviembre-2009
Amigos 0
Mensajes: 59
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado Re: Acentos en c

Gracias a los dos!!!, voy a checar y a probar la informacion. *salud
wewHackUchiha está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con los acentos y las ñ igortzu Html, XHTML, CSS 3 02-jun-2009 08:57
Acentos... Encuesta !!! M_David Off-Topic 35 05-jun-2007 18:36
Acentos en Mozilla fermat21 Software 0 28-ago-2006 07:00
Acentos i_berbeu Batch 3 05-oct-2005 11:06



Portal Hacker
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0