I was wondering is there a way to speed up fread in C or C++? For example, if I want to read a binary file containing 100 4-byte float numbers. I do:
float *data=(float*)calloc(sizeof(float), 100); float datatmp=0.0; f=fopen("datafilename","rb"); for(int i=0;i<100;i++){ fread(&datatmp,4,1,f); data[i]=datatm; } flcose(f);
My question is: can I read all the 100 float numbers at one time and put them in the data array? Will this be faster than using a loop?
Thanks.
you can read all one time. fread(data,sizeof(float)*100,1,f);
2.1m questions
2.1m answers
60 comments
57.0k users