안녕하세요.
프로그램밍 하다가 갑자기 궁금해져서요.
우선 제가 작업을 하는것을 주기적으로 파일에다가 로그를 저장하는 모듈을 손보다가 가끔 파일에 아무것도 안남아있을때까 있더라구요.
우선 현재 있는 부분은 (제가 짠건 아닙니다.. 바꿔야할것 같아요.)
initial 하는 부분이 있고 초기에만 호출되어 파일포인터를 열어줍니다. 대략 FILE * temp = fopen( "file_path","at+");
요런식이 되겠구요... 주기적으로 도는 루프에서 값을 확인해서 로그를 저장하는데요.
fprintf(temp,"%s","어쩌구저쩌구"); 이런식이겠지요.
프로그램이 정상종료된다면 계속 쓰다가 파일포인터를 fclose(temp) 할테니까 문제가 없겠지만...
계속 열어놓은 파일포인터에 쓰다가 프로그램이 비정상 종료되면 어떻게 되나요?
개념상으로는 fprintf 해도 메모리(버퍼)에 써놓고 가지고있다가 일정주기별로나 특정인터럽트때 디스크에 쓸꺼같은데..
^^ 아시는분들이 좀 알려주세요. 찾아봤는데 자료가 마땅치가 않네요.