2015-01-05 4 views
-2

특정 문자열에 대한 .txt 파일의 첫 번째 행을 확인하려는 프로그램을 만들고 있습니다. 해당 문자열이 변경되었거나 존재하지 않는 경우 전체 파일의 내용을 삭제하여 파일을 변경하지 못하게하고 싶습니다. 파일을 열 때 파일의 내용을 삭제하는 것이 가능하다는 것을 알고 있지만 첫 번째 줄을 확인한 후에 파일을 삭제할 방법을 찾을 수 없습니다.C++을 사용하여 파일의 내용을 삭제하는 방법

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

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

'는게 :: clear' 당신이 그것을하지 생각하지 않는 파일을 삭제하고 다시 작성 : 그것이 ifstream 경우이 작업을 수행해야합니다. – Brandon

+0

['std :: ifstream :: clear()'] (http://en.cppreference.com/w/cpp/io/basic_ios/clear) 아마 당신이 생각하는대로하지 않을 것입니다. –

답변

4

그냥 절단하여 파일에 아무것도 쓸 :이 구현은 INFILE의 당신의 선언에 따라 달라집니다

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

참고. ..

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

빠른 답장을 보내 주셔서 감사합니다. – Revant

관련 문제