Hola a todos, soy nuevo en el foro y tengo una duda que necesito resolver urgente para un trabajo practico. Se trata de programacion en C y es un programa pequeño en el que quiero contar la cantidad de registros que tiene un archivo binario "postulantes.bnn"
Este es el codigo
Código:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct{
char ApellidoyNombre[50];
char Sexo;
unsigned long DNI;
float PretensionSalarial;
}CONSULTORA;
void CuentaElementos (FILE *Archivo){
CONSULTORA Aux;
long int Final;
int TotalDatos;
fseek(Archivo,0,SEEK_END);
Final=ftell(Archivo); // ACA FTELL ME RETORNA CERO
TotalDatos=(sizeof(Aux))/Final; // Y ACA OBVIAMENTE ME PRODUCE EL ERROR AL NO PODER DIVIR POR CERO
printf ("%d",TotalDatos);
rewind(Archivo);
}
int main() {
FILE *Archivo;
CONSULTORA *C;
Archivo = fopen ("postulantes.bnn","wb+");
if (Archivo==NULL){
printf("Ha ocurrido un error. El archivo no se puede abrir ");
exit(1);
} else printf("El archivo se abrio correctamente \r\n");
CuentaElementos(Archivo);
fclose(Archivo);
return 0;
}