Hola a todos.
El programa funciona como lo deseaba sólo que me carcome una duda,
lareto sugirió leer y escribir en un archivo de la misma manera que yo utilizo en la lectura de este programa.-
Código:
#include <stdio.h>
typedef struct{
char marcado;
char ingles[30];
char espaniol[30];
}Traductor;
int main(void){
Traductor traductor;
FILE *ptrFile;
long cRegistros, l5u;
if( ( ptrFile = fopen( "archivo.txt", "r" ) ) == NULL){
perror("\n\n error..:");
return 1;
}
fseek(ptrFile, 0, SEEK_END);
cRegistros = ftell( ptrFile ) / sizeof( traductor );
for( l5u = cRegistros - 5 ; l5u < cRegistros; l5u++ ){
fseek( ptrFile, l5u*sizeof(traductor), SEEK_SET );
fread( &traductor.marcado, sizeof(char), 1, ptrFile );
fread( &traductor.ingles, sizeof(char), 30, ptrFile );
fread( &traductor.espaniol, sizeof(char), 30, ptrFile );
printf( "\n\n %-10s -> %-15s", traductor.ingles, traductor.espaniol);
}
printf( "\n\n Pulse [Enter] para finalizar..." ); getchar();
return 0;
}
Código:
cRegistros = ftell( ptrFile ) / sizeof( traductor );
en este caso
sizeof( traductor ) puede fallar en el conteo de los registros y si no es correcta esta sintaxis ¿cómo debería contar los bytes que tiene la estructura?.-
Saludos y un abrazo.
Daniel