You can save this data as binary data, it will not be human readable but it should take less space. For typical architecture each float should take only 4 bytes.
Code example:
fp = fopen("data.bin", "wb");
if(fp == NULL)
{
printf("Error opening file\n");
exit(1);
}
for (...) {
float x, y, z;
fwrite( &x, 1, sizeof(x), fp );
fwrite( &y, 1, sizeof(y), fp ) ;
fwrite( &z, 1, sizeof(z), fp ) ;
}
Read can be done using http://www.cplusplus.com/reference/cstdio/fread/
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
This way you will get rid of spaces, new line sign and each float will take less space. For example float 132.002 takes 7 bytes and binary form will always take 4 bytes.
Only downside is that there are no delimiters between each float so read function has to assume how data was written to file.