디스크 캐쉬 제대로 알기
전산
2006/12/15 19:32
오래간만에 재미난 퀴즈.
Q. Win32 환경에서 모든 함수가 성공적으로 수행되었다고 가정할 경우, #END 시점에서 데이터가 실제로 disk 에 쓰여졌다고 기대할 수 있는 코드를 모두 선택하시오.
1.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); // #END[/CODE]
2.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); fflush( fp ); // #END[/CODE]
3.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); fclose( fp ); // #END[/CODE]
4.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); fflush( fp ); fclose( fp ); // #END[/CODE]
5.
[CODE]HANDLE hFile = CreateFile( "test", 0, FILE_SHARE_WRITE, 0, TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL ); DWORD sz = 0; WriteFile( hFile, "data", 4, &sz, NULL ); CloseHandle( hFile ); // #END[/CODE]
Q. Win32 환경에서 모든 함수가 성공적으로 수행되었다고 가정할 경우, #END 시점에서 데이터가 실제로 disk 에 쓰여졌다고 기대할 수 있는 코드를 모두 선택하시오.
1.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); // #END[/CODE]
2.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); fflush( fp ); // #END[/CODE]
3.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); fclose( fp ); // #END[/CODE]
4.
[CODE]FILE *fp = fopen( "test", "wb" ); fwrite( "DATA", 4, 1, fp ); fflush( fp ); fclose( fp ); // #END[/CODE]
5.
[CODE]HANDLE hFile = CreateFile( "test", 0, FILE_SHARE_WRITE, 0, TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL ); DWORD sz = 0; WriteFile( hFile, "data", 4, &sz, NULL ); CloseHandle( hFile ); // #END[/CODE]
계속보기
트랙백 주소 :: http://testors.net/tt/trackback/767
-
갑자기 예전에 읽은 글 내용을 잊어버린 것 같아...
Tracked from What the hell is this?! 2007/01/15 17:05 삭제<P>트랙백 걸고 기억을 되살린다.</P> <P> </P> <P>'FILE' 을 사용하여 파일을 읽고 쓰는 경우, 물리적으로 disk에 저장되었다는 것을 확신하기 위해서는 반드시 FlushFileFromBuffers() 함수를 사용해야 한다.</P> <P> </P> <P>M$에서 제공하는 '표준이 아닌' 편법으로 fopen()을 호출할 때 'c' 플래그를 추가한 뒤 fflush()를 사용하면 저 함수가 자동으로 호출된다고 한..
-
[펌] fflush 가 파일의 하드 디스크 기록 저장을 보장하지 않는다!
Tracked from 귀차니스트! 2007/02/13 11:04 삭제<P>우허허 ...</P> <P>?장.</P> <P>당했다 ㅜㅜ</P>







Textcube 1.8.2 : Secondary dominant