Hola johncapi! esta dificil lo que queres hacer, pero todo sale. La funcion atof() convierte
la porcion inicial de una cadena a double y devuelve ese valor, ejemplo:
Se va a imprimir -14.000000
Ahora bien lo complicado es como detectas en tu cadena "sad12### -34.5666xxxx 99.01 asdasd7asd" los numeros??. Te recomiendo que primero obtengas esa linea del archivo con fgets y luego recorras la cadena hasta que encuentres un numero, Es decir tendrias que recorrer tu cadena hasta encontrar el puntero que apunte a "12### -34.5666xxxx 99.01 asdasd7asd"... Fijate si se te ocurre algo sino segui preguntando
Prototipo de la funcion atof: double atof(char * ptr)
Debes incluir el header <stdlib.h> para que funcione correctamente
Saludos