Cita:
Iniciado por stilua mi problema es que cuando intento leer mi archivo, C lo lee como char intente cambiarle al tipo float pero me da un numero no correspondiente, como puedo hacer para que el numero escrito en el archivo se vuelva float.
El problema es eso, que tú quieres que el número sea un float, así que la precisión es la que hay, la que define el float, ante eso no se puede hacer nada.
Si no te importa tenerlo en algo que no sea un float o double sí hay solución, podrías almacenar el número en una cadena de carácteres tan grande como quieras (y puedas) y no se perdería nada de precisión en absoluto. El problema es que sería similar a declarar un nuevo tipo de datos, y ese tipo de datos no tiene las operaciones básicas definidas, tendrías que crearte la operación suma (en la que deberías sumar carácter a carácter la parte entera y la decimal, "me llevo una", etc. y almacenarlo en otra cadena de carácteres), la resta, la multiplicación y demás (si es que las necesitas).
Como ves la idea es algo laboriosa, pero una vez definidas esas operaciones no es para nada mala solución.