hey ayuda como guardo en un txt...

Iniciado por josue_tux, 25 Junio 2010, 01:35 AM

0 Miembros y 1 Visitante están viendo este tema.

josue_tux

mi codigo es el siguiente:



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...

nicolas_cof

#1
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.

Debci

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 (cpp) [Seleccionar]

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


por:

Código (cpp) [Seleccionar]

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


Osea:
r = read
y
w = write

Recuerdalo siempre!

Un saludo

nicolas_cof

Ademas de lo ya mencionado, no te olvides de hacer la comprobacion luego de usar fopen()

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


Salu10.