Tengo una duda acerca de como leer y guardar, no se si usar fread o fscanf, segun vi fread es mas "facil" de usar pero necesita que el archivo este en binario.
Re: funcion leer tabla codificacion
Re: funcion leer tabla codificacion
"Otra llamada al programa podr´ıa ser:
./obligatorio2 D ArchivoCodificado ArchivoDecodificado.txt TablaDeCodificacion.txt
En ese caso el programa obligatorio2 es llamado para decodificar el archivo llamado ArchivoCo-
dificado y generar el archivo decodificado que lleva por nombre ArchivoDecodificado.txt.
Noten que en este caso NombreArchivo.txt y ArchivoDecodificado.txt deben ser idéntcos.
El archivo codificado debe escribirse como una secuencia binaria. Para ello deben utilizar las
funciones fwrite (y no fprintf) para la tabla de codificación y fputc o fputchar para el
mensaje. Naturalmente deber´a untilizar las funciones complementarias fread (y no fscanf) y
fgetc o fgetchar respectivamente."
Agradezco aclarar.
Luis
Re: funcion leer tabla codificacion
Hola Rafael,
Te aclaro algo, todos los archivos son binarios, la unidad minima que contienen todos los archivos es el byte.el famoso paquetito de 8 bits.
Un archvio puede contener 0 bytes ( el archivo esta vacio ) o x cantidad de bytes.(( los archivos nunca son pesados indepeendientemente de su longitud ). Los bytes en un archivos tienen orden , no por valor sino por posicion , es decir
primer byte segundo byte .....
tenemos primer byte y ultimo byte ( final del archivo ).
y te repito son todos binarios.
el punto es cual es la interpretacion que vos le vas a dar a esos valores de bytes( el rango es de 0 a 255 en un unsigned byte ).
la funcion scanf y sus derivados ( fscanf ) es un poco problematica y te puede generar algunos problemitas si lees directamente del archivo,
lo mejor o mas aconsejable es leer con fgets un buffer ( que puede ser de 256 byes unsigned char buff[256] ,)
y sobre este buff lo usas con sscanf ; sscanf( buff , ......
fijate con
$man fgets
y
$man sscanf
Saludos Daniel.