Ya está solucionado, el problema era que al visualizar los registros el bucle tiene que ser:
Código (c) [Seleccionar]
fread(p_per, sizeof(t_persona), 1, pf);
while (!feof(pf) && !ferror(pf)) {
printf("%s\n", p_per->nombre);
printf("%s\n", p_per->direccion);
printf("%d\n", p_per->telefono);
fread(p_per, sizeof(t_persona), 1, pf);
}