用c ++清除文本文件中的数据

时间:2013-06-10 21:12:50

标签: c++ fstream

我在C ++上编程。在我的代码中,我创建了一个文本文件,将数据写入文件并使用流从文件中读取,在完成序列后,我希望清除txt文件中的所有数据。有人可以告诉我清除txt文件中的数据的命令。谢谢

4 个答案:

答案 0 :(得分:47)

如果您只是使用truncate-option打开要写入的文件,则会删除内容。

std::ofstream ofs;
ofs.open("test.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();

http://www.cplusplus.com/reference/fstream/ofstream/open/

答案 1 :(得分:4)

删除文件也会删除内容。 请参阅remove file

答案 2 :(得分:2)

如果设置了trunc标志。

#include<fstream>

using namespace std;

fstream ofs;

int main(){
ofs.open("test.txt", ios::out | ios::trunc);
ofs<<"Your content here";
ofs.close(); //Using microsoft incremental linker version 14
}

我在一个常见的编程环境中根据自己的需要对此进行了测试。绝对要确保预先形成“.close();”操作。如果你不这样做,就不知道你是否截断或只是应用于文件的乞讨。根据文件类型,您可能只是附加在文件上,根据您的需要可能无法满足其目的。一定要打电话给“.close();”明确你要替换的fstream。

答案 3 :(得分:1)

据我所知,仅在写入模式下打开文件而没有追加模式会删除文件内容。

ofstream file("filename.txt"); // Without append
ofstream file("filename.txt", ios::app); // with append

第一个将位置位放在开始擦除所有内容的位置,而第二个版本将位置位放在文件末尾的位置并从那里写入。