Equalizer seems to use %f
%f printf() specifier gives inconsistent result depending on the user's locale. We cannot assume it will be the american format either (as per #581 (closed)*). You cannot use strof() either.
Don't use it when read from/writing to a file or a network stream.
sprintf( psz_newbands, "%s %f", psz_newbands,
eqz_preset_10b[i]->f_amp[j] );
That line also sounds dangerous (use of psz_newbands both as input and output, and no boundary checks).