elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:53  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema al leer fichero con caracteres especiales
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al leer fichero con caracteres especiales  (Leído 678 veces)
Yeiner

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema al leer fichero con caracteres especiales
« en: 7 Diciembre 2011, 01:36 »

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


En línea
RHL


Conectado Conectado

Mensajes: 968


mental


Ver Perfil
Re: Problema al leer fichero con caracteres especiales
« Respuesta #1 en: 7 Diciembre 2011, 02:32 »

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



En línea
Lateseles

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Problema al leer fichero con caracteres especiales
« Respuesta #2 en: 10 Diciembre 2011, 05:32 »

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.
« Última modificación: 10 Diciembre 2011, 05:35 por Lateseles » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Caracteres especiales
PHP
chicuela66 2 545 Último mensaje 12 Enero 2007, 14:25
por 5n4K3
Leer caracteres especiales
Programación C/C++
merlin 2 823 Último mensaje 18 Mayo 2007, 13:05
por merlin
Leer caracteres hexadecimales de un fichero
Programación C/C++
bebop 3 1,508 Último mensaje 17 Junio 2009, 09:20
por bebop
caracteres especiales debian
GNU/Linux
Castg! 1 833 Último mensaje 5 Febrero 2010, 03:12
por lnvisible
caracteres especiales
Scripting
flony 0 627 Último mensaje 1 Junio 2010, 03:27
por flony
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines