어떤 파일에 data를 쓸 때 buffer에다가 쓸 내용을 채운 다음 파일에다가 쓰게 된다.
연속적으로 data를 쓸 경우 buffer가 차게되면
프로그램이 알아서 flush를 해준 다음, 그 다음 내용을 buffer에다가 채우게 된다.
하지만 buffer가 미처 다 차기 전에 프로그램이 종료 된다면
현재 buffer에 들어있는 내용은 파일에 쓰여지지 않게된다.
이 때 flush 함수를 호출하면 buffer에 남아있는 내용이 파일에 쓰여지게 된다.

많은 책들의 코드를 보면 flush라는 명령어를 종료직전에 사용하지 않고있다.
대신 close만 사용하고 있다. 이는 close 함수가 내부적으로 flush함수를 호출하기 때문이다.
하지만 많은 책들이 이런 내용을 설명을 해주지 않아서, 나같은 경우는 여태까지 flush를 쓴 다음 close를 또 썼다.
(나는 close 함수는 파일의 핸들을 return하는 함수라고 여태까지 알고 있었다.)
나와 같이 close에 대해 오해를 하는 케이스가 발생하지 않도록 이렇게 글로 남긴다.