Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用C++;_C++_File - Fatal编程技术网

C++ 如何使用C++;

C++ 如何使用C++;,c++,file,C++,File,我正在做一个程序,我想检查一个特定字符串的.txt文件的第一行。如果该字符串被篡改或不存在,我想删除整个文件的内容,以防止篡改该文件。我知道在打开文件时可以删除文件的内容,但在检查第一行之后,我找不到这样做的方法 getline(infile, fLine); cout<<fLine<<"\n"; if(fLine != "Line One"){ infile.clear(); outfile << "Line One\n"; } getlin

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

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

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

不能通过截断文件而不向其写入任何内容:

infile.close()
infile.open("file.txt", fstream::out | fstream::trunc);
infile.close()
请注意,此实现将取决于您的infle声明。如果是
ifstream
,则需要执行以下操作:

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

ios::clear
不会做你认为它会做的事。。删除文件并重新创建它。可能不会像你想的那样。