2011-09-12 3 views
0

C에서 rewind() 호출은 파일의 앞에 다음 쓰기를 시작합니다.rewind() 후 fprintf() 파일 끝에 쓸 수 있습니다 (예 : 완전 덮어 쓰기)

내가 이해하는대로 fprintf()이라고 부르면 나는 쓰려고하는 문자열의 끝에 더 이상 쓸 수 없습니다. 기존 파일에 내가 쓰고있는 문자열의 끝을 지나친 데이터가있는 경우이 파일을 덮어 쓰지 않습니다.

rewind()을 사용하여 전체 파일을 빠르게 덮어 쓸 수 있도록이 동작을 변경하는 방법이 있습니까?

답변

1

파일을 길이를 0으로 자르려면 쓰기 모드로 다시여십시오. 열려있는 동안 자르려면, ftruncate가 POSIX 시스템에서해야합니다. Windows에있는 _chsize_ftruncate과 비슷합니다.