El problema se encuentra en la funcion "buscarRegistro", en la linea:
Y se debe a que le estas indicando el numero exacto de caracteres del registro pero la función utilizara el ultimo para almacenar el '\0'.
Para solucionarlo basta con tener eso en cuenta cambiando la llamada a fgets a:
Un saludo
Código (c) [Seleccionar]
fgets(Registro, tam, ap);
Y se debe a que le estas indicando el numero exacto de caracteres del registro pero la función utilizara el ultimo para almacenar el '\0'.
Para solucionarlo basta con tener eso en cuenta cambiando la llamada a fgets a:
Código (c) [Seleccionar]
fgets(Registro, tam + 1, ap);
Un saludo