2013-03-28 2 views
0

텍스트 파일을 출력하는 프로그램을 만들고 있습니다. 언제든지 파일에 쓸 때마다 파일 끝에 seekp()을 열고 파일에 쓰고 닫습니다. 그러나 새로운 쓰기가 수행 될 때마다 이전에 파일에 있던 모든 데이터를 대체하는 것으로 보입니다.fstream 파일을 다시 쓰고 있습니다

output.open("output.txt", fstream::out); 
output.seekp(0, ios::end); 
output << "Record " << key << " does not exist.\r"; 
output.close(); 

파일의 끝에 모든 쓰기를 추가하는 적절한 방법입니까? 모든 파일을 다시 작성해야하는 아이디어가 있으면 크게 감사하겠습니다.

답변

3

fstream::app 플래그를 추가하십시오.

output.open("output.txt", fstream::out | fstream::app); 
+0

D' oh! fstream :: ate를 사용해 보았습니다. 팁 고마워! – raphnguyen

1

fstream::out은 항상 파일의 데이터를 덮어 씁니다. 추가하려면 모듈을 사용하십시오. fstream::app

관련 문제