printf랑 같이써서 프로그램을 돌려보니 정상작동합니다.
다만 printf로 직고나서 fputs로 text파일로 기록을 하는데
여기서 시간차가 발생하는지 프로그램종료후 text파일에 일부분까지만 기록이 됩니다.
중간에 오류때문에 프로그램이 정지해도 거기서 일정앞부분까지의 내용만 기록됩니다.
항상일정하게 기록이되더라구요
프로그램 종류 전에 fclose은 하셨나요? 그리고 바로 Write되게 하려면 fputs을 하시고 fflush을 해보세요
프로그램 종료전에 fclose는 했는데
fputs뒤에 fflush를 하니깐 해결되네요
근데 fflush는 버퍼를 지우는거로 아는데 왜 해결이된건가요??
그냥 버퍼를 지우는게 아니라 flush는 버퍼에 있는 데이터를 실질적으로 write한 뒤에 버퍼를 지우는 것입니다. fclose가 제대로 안되고 프로그램이 종료되는 것으로 보입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
fclose와 flush
프로그램 종류 전에 fclose은 하셨나요?
그리고 바로 Write되게 하려면 fputs을 하시고 fflush을 해보세요
fflush사용하니깐 되네요 ㅎㅎ
프로그램 종료전에 fclose는 했는데
fputs뒤에 fflush를 하니깐 해결되네요
근데 fflush는 버퍼를 지우는거로 아는데 왜 해결이된건가요??
그냥 버퍼를 지우는 목적이기보다는
그냥 버퍼를 지우는게 아니라 flush는 버퍼에 있는 데이터를 실질적으로 write한 뒤에 버퍼를 지우는 것입니다.
fclose가 제대로 안되고 프로그램이 종료되는 것으로 보입니다.
댓글 달기