我有一个模拟行星轨道的程序。每个时间步长的信息将写入.txt
文件,每次迭代需要 64 字节的内存(8 doubles
(。时间步长由用户选择,最终时间由用户选择。这允许我计算磁盘上所需的内存量。例如,步长 10,最终时间为 1000,给出 100 组信息,这意味着至少 6400 字节的内存。
有没有办法使用这些信息,由于缺乏更好的词,在允许程序写入文件之前检查驱动器以查看是否有足够的空间,因为我想防止太大的文件写入磁盘。 理想情况下,如果可能的话,这应该是标准 C。
如果您事先确切知道需要多少空间,则可以尝试所有需要的文件:
- 打开文件并用空白填充它,直到达到所需的确切大小。
- 刷新文件并检查错误。
- 将文件指针倒回开头,并用实际数据覆盖内容。
如果在刷新时出错,请删除所有文件。
完成后,关闭文件。