0
我需要寫一個數組,其部分分散在代碼中。在循環中使用`fwrite`是不是很好?
總之,我的代碼是這樣的:
(...)
FILE *f = fopen(filepath, "wb"); // wb -write binary
for (uint i = 0; i < num_points; i++) {
fwrite(points[i].loc, sizeof(float[3]), 1, f);
}
fclose(f);
正如你所看到的,我的解決辦法是寫在文件前面的陣列的每一個新的組成部分。
但是這是否有效率問題或內存讀取?我應該在RAM中分配整個數組然後寫入文件嗎?
'fwrite'爲你處理緩衝。 –
另外:'unsigned',IMO,比'uint'更好。 – chux
假設'points [i] .loc' __is__'float'的類型,它就是'sizeof(float)'而不是'sizeof(float [3])''。 –