如何使用C++删除文件的内容

How to delete the contents of a file using C++

我正在制作一个程序,我想检查 .txt 文件的第一行是否有特定字符串。如果该字符串被篡改或不存在,我想删除整个文件的内容以防止篡改文件。我知道可以在打开文件时删除文件的内容,但是我检查了第一行后找不到这样做的方法。

getline(infile, fLine);
cout<<fLine<<"\n";

if(fLine != "Line One"){
  infile.clear();
  outfile << "Line One\n";
  }

通过截断文件不写入任何内容:

infile.close()
infile.open("file.txt", fstream::out | fstream::trunc);
infile.close()

请注意,此实现将取决于您对 infile 的声明。如果它是 ifstream 你需要这样做:

ofstream outfile;
outfile.open("file.txt", ofstream::out | ofstream::trunc);
outfile.close()