我正在创建一个程序,我想检查特定字符串的.txt文件的第一行。如果该字符串被篡改或不存在,我想删除整个文件的内容以防止篡改该文件。我知道打开文件时可以删除文件内容,但检查完第一行后我找不到办法。
getline(infile, fLine);
cout<<fLine<<"\n";
if(fLine != "Line One"){
infile.clear();
outfile << "Line One\n";
}
答案 0 :(得分:4)
只需截断文件就不写任何内容:
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()