Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: josue_tux en 25 Junio 2010, 01:35 am



Título: hey ayuda como guardo en un txt...
Publicado por: josue_tux en 25 Junio 2010, 01:35 am
mi codigo es el siguiente:

Código:

void CODIGO(void)
{
      FILE *archivo;

     int i;
     char c;
     printf("El codigo en orden alfabetico:");
     for(i=1; i<=MAX_N_S; i++)
if(frecuencia[i]!=0)
  {
     c=inicio_reconstruccion(i);
     if(c==' ')
printf("\n\tEspacio");
     else
       if(c=='\n')
  printf("\n\tLinea");
       else
    printf("\n\t%c",c);
if(codigo[i]==NULL)
   printf("\n\aError\a\n");
else
      printf("\t==>%s",codigo[i]);
  }
getch();
printf("\n\n\n\n");
printf("\nEl arbol de huffman quedo codificado a:\n\n");

archivo=fopen("huffman.txt","r");

for(i=0; entrada[i]!='\0';i++)
   {

       printf("%s",codigo[ inicio_mapa(entrada[i]) ] );
       fwrite(codigo[inicio_mapa(entrada[i])], sizeof(codigo),1,archivo);

   }
   fclose(archivo);
   
}



mi  consulta es que cuando quiero guardar el codigo en un txt solo me crea el archivo huffman.txt pero no me guarda nada , alguien si sabe como me lo podria guardar  le estari muy agradecido...


Título: Re: hey ayuda como guardo en un txt...
Publicado por: nicolas_cof en 25 Junio 2010, 01:41 am
Es porque lo estas abriendo para lectura.

http://c.conclase.net/librerias/?ansifun=fopen

Recomendacion: no seria conveniente que uses getch() ya que la libreria conio.h es obsoleta y no es estandar, podrias usar getchar() de la libreria stdio.h

Salu10.


Título: Re: hey ayuda como guardo en un txt...
Publicado por: Debci en 27 Junio 2010, 16:35 pm
Has indicado mal el parametro de tipo de opertura del archivo, esta en lectura (read) teniendo que estar en escritura (write):

A grandes rasgos cambia:
Código
  1. archivo=fopen("huffman.txt","r");
  2.  

por:

Código
  1. archivo=fopen("huffman.txt","w");
  2.  

Osea:
r = read
y
w = write

Recuerdalo siempre!

Un saludo


Título: Re: hey ayuda como guardo en un txt...
Publicado por: nicolas_cof en 27 Junio 2010, 20:01 pm
Ademas de lo ya mencionado, no te olvides de hacer la comprobacion luego de usar fopen()

Código:
archivo = fopen( "huffman.txt", "w" );
if ( archivo == NULL )
{
    printf( "ERROR\n" );
    return -1;
}

Salu10.