gpt4 book ai didi

c - 在循环中使用 `fwrite` 是好习惯吗?

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:28 27 4
gpt4 key购买 nike

我需要编写一个数组,其部分分散在代码中。

简而言之,我的代码是这样的:

(...)
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 将缓冲您的数据,直到其缓冲区已满,或 fflush/fclose/等。叫做。因此它不会在每次迭代时执行系统调用。

关于c - 在循环中使用 `fwrite` 是好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43852625/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com