Título: Problema al leer fichero con caracteres especiales Publicado por: Yeiner en 7 Diciembre 2011, 01:36 am hola soy nuevo en el foro y tengo este problema como dice el asunto.
debo hacer un programa que lea un fichero y muestre las letras y caracteres usadas en el fichero. el problema es que al leer el fichero me aparecen otros simbolos en el caso de vocales con tilde el fichero esta en codificacion UTF-8 este es el codigo: #include <stdio.h> #include <stdlib.h> int main() { FILE *archivo; char caracter,c[256],p; int i,d,cont[256]; for(i=0;i<=255;i++) { cont=0; c=i; } archivo = fopen("hola.txt","r"); if (archivo == NULL) { printf("\nError de apertura del archivo. \n\n"); } else { printf("\nEl contenido del texto es \n\n"); while (feof(archivo) == 0) { caracter = fgetc(archivo); d=(int)caracter; printf("%c",caracter); p=d; for(i=0;i<256;i++) { if(caracter==c) { cont++; } } } } for(i=0;i<256;i++) { if(cont>0) { printf("%c %d\n",c,cont); } } getch(); return 0; } y este el contenido del fichero: Volverán las oscuras golondrinas - Gustavo Adolfo Becquer Volverán las oscuras golondrinas en tu balcón sus nidos a colgar, y, otra vez, con el ala a sus cristales jugando llamarán; pero aquéllas que el vuelo refrenaban tu hermosura y mi dicha al contemplar, aquéllas que aprendieron nuestros nombres... ésas... ¡no volverán! Volverán las tupidas madreselvas de tu jardín las tapias a escalar, y otra vez a la tarde, aun más hermosas, sus flores se abrirán; pero aquéllas, cuajadas de rocío, cuyas gotas mirábamos temblar y caer, como lágrimas del día... ésas... ¡no volverán! Volverán del amor en tus oídos las palabras ardientes a sonar; tu corazón, de su profundo sueño tal vez despertará; pero mudo y absorto y de rodillas, como se adora a Dios ante su altar, como yo te he querido..., desengáñate: ¡así no te querrán! Síntesis (Las dos cabezas - Guillermo Valencia) Cuando vio mi poema Jonatás el Rabino ( el espíritu y carne de la bíblica ciencia ), con la risa en los labios me explicó la sentencia que soltó la Paloma sobre el Texto divino. «Nunca pruebes, me dijo, del licor femenino, que es licor de mandrágoras y destila demencia; si lo bebes, al punto morirá tu conciencia, volarán tus canciones, errarás el camino». Y agregó: «Lo que ahora vas a oír no te asombre: la mujer es el viejo enemigo del hombre; sus cabellos de llama son cometas de espanto. Ella libra la tierra del amante vicioso, y Ella calma la angustia de su sed de reposo con el jugo que vierten las heridas del santo». gracias de antemano con lo que me puedan ayudar SO: W7 herramienta programacion: borland builder c++ 6.0 Título: Re: Problema al leer fichero con caracteres especiales Publicado por: x64core en 7 Diciembre 2011, 02:32 am usar unicode ,pero como decis que compilas con borland, en VS tendrias que usar la funcion: _vsnwprintf()
osea el print en unicode... busca una funcion que podas exporta con borland que muestre cadenas unicode Título: Re: Problema al leer fichero con caracteres especiales Publicado por: Lateseles en 10 Diciembre 2011, 05:32 am No se si te servirá pero en windows al leer de un fichero se guarda los caracteres extendios de ascii con otro valor. las ñ como 241 en vez de 164 por ejemplo.
http://gias720.dis.ulpgc.es/Gias/Cursos/Tutorial_html/formtab.htm#inicio prueba a usar unsigned char para poder recoger valores superiores a 127. y compara si el caracter es 241 por ejemplo, k lo iguale a 164. |