我在C ++上编程。在我的代码中,我创建了一个文本文件,将数据写入文件并使用流从文件中读取,在完成序列后,我希望清除txt文件中的所有数据。有人可以告诉我清除txt文件中的数据的命令。谢谢
答案 0 :(得分:47)
如果您只是使用truncate-option打开要写入的文件,则会删除内容。
std::ofstream ofs;
ofs.open("test.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();
答案 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
第一个将位置位放在开始擦除所有内容的位置,而第二个版本将位置位放在文件末尾的位置并从那里写入。