C++ 如何从txt文件中删除数据/内容

C++ 如何从txt文件中删除数据/内容,c++,file,C++,File,我正在努力学习如何处理和处理文件,现在我知道如何打开文件、在文件上写字和阅读。我想做的是,当我使用完程序后,如何从文件中删除数据/内容? 当我在程序执行期间需要时,我使用一个txt文件来保存我使用的一些信息,但是当我完成时,我想删除保存的数据,这些数据只是数字。我想每次都删除文件,然后创建,但我认为这不是理想的。有什么建议吗?使用: 使用: 在这种情况下,通常只需重新编写整个文件。如果是一个小文件,您可以读入整个内容,修改内容并将文件写回 对于大文件,如果您担心占用太多内存,可以以适当大小的块读

我正在努力学习如何处理和处理文件,现在我知道如何打开文件、在文件上写字和阅读。我想做的是,当我使用完程序后,如何从文件中删除数据/内容? 当我在程序执行期间需要时,我使用一个txt文件来保存我使用的一些信息,但是当我完成时,我想删除保存的数据,这些数据只是数字。我想每次都删除文件,然后创建,但我认为这不是理想的。有什么建议吗?

使用:

使用:


在这种情况下,通常只需重新编写整个文件。如果是一个小文件,您可以读入整个内容,修改内容并将文件写回

对于大文件,如果您担心占用太多内存,可以以适当大小的块读取文件,但您会将这些块写入另一个临时文件。完成后,删除旧文件并将临时文件移动到旧文件的位置


您也可以同时使用这两种方法:读取整个文件,立即将其写入临时文件,然后删除并移动;如果在编写临时文件时出现任何问题,您仍然可以将旧文件作为备份…

在这种情况下,您通常只需重新编写整个文件。如果是一个小文件,您可以读入整个内容,修改内容并将文件写回

对于大文件,如果您担心占用太多内存,可以以适当大小的块读取文件,但您会将这些块写入另一个临时文件。完成后,删除旧文件并将临时文件移动到旧文件的位置


您也可以同时使用这两种方法:读取整个文件,立即将其写入临时文件,然后删除并移动;如果在写入临时文件时出现任何问题,您仍然可以将旧文件作为备份…

您可以在写入模式(w)下打开文件,然后将其关闭。它将截断所有以前的数据

您可以在写入模式(w)下打开文件,然后将其关闭。它将截断所有以前的数据

通常在程序结束后清理临时文件是个好主意。我当然不会留下一个空的临时文件。您可以轻松删除文件(例如,使用或)。如果您真的只想“清除”一个文件,那么:

void clear_file(const std::string& filename)
{
    std::ofstream file {filename}; 
}

将完成这项工作。

通常,在程序结束后清理临时文件是一个好主意。我当然不会留下一个空的临时文件。您可以轻松删除文件(例如,使用或)。如果您真的只想“清除”一个文件,那么:

void clear_file(const std::string& filename)
{
    std::ofstream file {filename}; 
}
将完成此工作。

可能重复的“垃圾”->“块”-除非您评估存储数据的质量:)“垃圾”->“块”-除非您评估存储数据的质量:)