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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  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 6,216 veces)
Yeiner

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema al leer fichero con caracteres especiales
« 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


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Problema al leer fichero con caracteres especiales
« Respuesta #1 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



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 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.
« Última modificación: 10 Diciembre 2011, 05:35 am por Lateseles » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer x caracteres en una posicion fichero linux
Scripting
zeux_madr 1 2,911 Último mensaje 23 Mayo 2013, 02:41 am
por -Myx-
[C++] Problema con vocales con tilde y caracteres especiales. « 1 2 »
Programación C/C++
NOIS 16 13,638 Último mensaje 23 Noviembre 2014, 18:14 pm
por zShackra
Problema con caracteres especiales
Programación Visual Basic
rapbyone 2 3,039 Último mensaje 8 Septiembre 2015, 18:56 pm
por rapbyone
Problema con caracteres especiales Python
Scripting
Raiderz92 9 8,376 Último mensaje 16 Marzo 2017, 03:15 am
por Eleкtro
MOVIDO: Problema con caracteres especiales Python
Programación General
Eleкtro 0 2,649 Ú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