【发布时间】:2014-05-02 19:30:19
【问题描述】:
我有 4 个文件我声明为 fstream、File1、File2、File3、File4;我打开一个包含 120 个整数的单独 data.txt 文件并将其内容读入 file1。然后我必须将 file1 的内容读入一个大小为 20 的数组,对其进行排序,然后将其写入 file3,然后再次执行并写入 file4。所以此时 file3 和 file4 每个都包含 3 个 20 个已排序整数的块,而 file1 仍然包含原始的 120 个整数。现在我必须对 file3 和 file4 进行合并排序,但一次只能有 20 个元素进入内存。到目前为止,一切都运行良好。我的问题是我必须将合并排序内容写回file1和file2。 File1 已经打开,我不能关闭它然后重新打开它,我必须清除 file1 的内容,所以它是一个空文件,然后我才能写回它。这是学校实验室的一部分,但我们的老师告诉我们只用谷歌文件操作。我和其他几个孩子以及计算机实验室的导师似乎无法正常工作。
【问题讨论】:
-
为什么不能关闭再重新打开?关闭它后,您可以使用
std::ios::trunc参数重新打开它。