Ok, 3 problems at the same time

- you want to read (size) bytes from the file, not (size+1). The function adds a 0 byte at the end, therefore your array must be bigger by at least 1 byte, but not the file.
- a float is always 4 bytes, and var/double is always 8 bytes. Look here:
http://manual.zorro-trader.com/aarrays.htm- The %f placeholder in printf expects var/double, not float! Look here:
http://manual.zorro-trader.com/printf.htmIf a C function expects a var and you pass a float instead, it's normally automatically converted and you need not bother. Not so with printf: It has no fixed variable types. So you must always pass the correct type that is expected for the placeholder. Otherwise you'll get garbage.