簡體   English   中英

C/C++ 一次讀取二進制文件(浮點數)

[英]C/C++ read binary files (flaot numbers) at one time

我想知道有沒有辦法加快 C 或 C++ 中的 fread 速度? 例如,如果我想讀取一個包含 100 個 4 字節浮點數的二進制文件。 我願意:

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);

我的問題是:我可以一次讀取所有 100 個浮點數並將它們放入數據數組中嗎? 這會比使用循環更快嗎?

謝謝。

您可以一次閱讀所有內容。 fread(數據,sizeof(float)*100,1,f);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM