如何删除文件中的数字,通过 c++ fstream 的

How to delete numbers in file, by c++ fstream's

本文关键字:数字 通过 fstream c++ 文件 何删除 删除      更新时间:2023-10-16

我想对数字进行排序,它位于文件 (file_1中(。我决定将它们复制到第二个文件 (file_2( 中,然后循环:找到 min,然后将其写入第三个文件 (file_3( 并在file_2中删除它,然后在第二个文件不为空时一次又一次地执行此操作。如何删除file_2中的号码?有人知道吗?

例如。file_1: 14, 9, 12, 10. 我想在file_2复制这个 ->file_2: 14, 9, 12, 10.

然后找到最小值并将其写在file_3->file_3: 9中。 并将其从file_2->中删除(实际上,我该如何删除它?这是我的问题。file_2: 14, 12, 10.

等等...

file_3: 9, 10.file_2: 14, 12.

file_3: 9, 10, 12.file_2: 14.

file_3: 9, 10, 12, 14.file_2:.

排序file_1 = file_3: 9, 10, 12, 14.

你可以在这里找到你需要的一切: 流

除非另有说明,否则使用 ofstream 打开文件会清除它。因此,当您需要清除文件 2 时,只需重新打开文件 2。

如注释中所述,您不能在文件中插入或删除字符。您可以读出文件,编辑读取字符串,并用字符串覆盖文件。

对于您要执行的操作,我建议您读出整个文件并将数字存储在像std::vector这样的容器中。您可以使用std::string.find()通过在", "处拆分来将字符串分隔为子字符串。然后,您可以使用此向量对数字进行排序并将它们写入新文件中。