【发布时间】:2013-06-06 15:29:15
【问题描述】:
我正在使用 C++ 编程。在我的代码中,我创建了一个文本文件,将数据写入文件并使用流从文件中读取,在完成我希望的序列后,我希望清除 txt 文件中的所有数据。谁能告诉我清除txt文件中数据的命令。谢谢
【问题讨论】:
我正在使用 C++ 编程。在我的代码中,我创建了一个文本文件,将数据写入文件并使用流从文件中读取,在完成我希望的序列后,我希望清除 txt 文件中的所有数据。谁能告诉我清除txt文件中数据的命令。谢谢
【问题讨论】:
如果您只是使用 truncate 选项打开文件进行写入,您将删除内容。
std::ofstream ofs;
ofs.open("test.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();
【讨论】:
据我所知,只需在不附加模式的情况下以写入模式打开文件就会删除文件的内容。
ofstream file("filename.txt"); // Without append
ofstream file("filename.txt", ios::app); // with append
第一个版本将位置位放在开头擦除所有内容,而第二个版本将位置位放在文件结尾位并从那里写入。
【讨论】:
如果你设置了 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();”手术。如果您不这样做,则无法确定您是 trunc 还是只是应用程序来请求文件。根据文件类型,您可能只是附加在文件上,这取决于您的需要可能无法满足其目的。一定要调用“.close();”明确说明您要替换的 fstream。
【讨论】:
删除文件也会删除内容。 见remove file。
【讨论】:
你应该创建一个函数来清除文件的所有数据,然后运行它。
void clear()
{
ofstream file("fileout.txt");
file<<"";
}
【讨论】: