이 블로그는 http://blog.greenmaru.com으로 이동 하였습니다.
2010년 12월 이후 업데이트는 새로운 블로그를 통해서만 이루어 집니다. 현재 보고 계신 페이지는 2011년 12월에 없어질 예정 이므로, 필요하신 분께서는 새로운 블로그로 링크를 변경해 주시기 바랍니다.
번거롭게 해 드려 죄송합니다.
<greenb>

File Size 출력 - StrFormatByteSize

파일의 크기를 출력해야 할때, 유용한 API.

LPTSTR StrFormatByteSize( LONGLONG qdw, LPWSTR pwszBuf, UINT cchBuf  );

보통, 파일크기는 정수형 변수에 Byte단위로 들어있기 때문에, 출력을 위해서는 약간의 처리가 필요하다.
(변태가 아니라면 1493021Byte보다는 1.3MB 로 보고 싶어한다 -_-)
그런데, 이 처리를 좀 쓸만하게 해 보려면 예상외로 꽤나 복잡해 진다.
Byte, KB, MB, GB 처리는 1024로 나눠가면서 하면 된다지만.. 소수점도 처리해야하고, 반올림도 싱경써야하고..

그럴땐 간단하게 이 함수를 사용해 주시면 되겠다.
파일 크기를 탐색기에서 표시되는 형태의 문자열로 변환해 준다.

  1. LPCTSTR lpszTestFile = _T("c:\\야동.avi"); // ...-_-;   
  2. // 이 코드는 파일 크기를 얻어오기 위한예제입니다. (정수형으로)   
  3. HANDLE hFile;   
  4. hFile = CreateFile(  lpszTestFile ,GENERIC_READ ,FILE_SHARE_READ ,NULL ,OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL ,NULL );   
  5. DWORD dwFileSize = GetFileSize( hFile, NULL );   
  6.   
  7. // 여기가 사용법. 참 쉽죠?(...)   
  8. TCHAR szBuffer[32];   
  9. StrFormatByteSize( dwFileSize, szBuffer, 32 );   
  10. ::MessageBox( NULL, szBuffer, _T("File size"), MB_OK );   
  11. CloseHandle( hFile );  
저작자 표시 비영리 변경 금지
Tag // ,

Trackback Address >> http://greenmaru.com/trackback/6 관련글 쓰기

Comment List

  1. BlogIcon 도꾸리 2009/04/01 13:43 address / modify or delete / reply

    부럽습니다~
    전 it쪽에는 젬병이라...
    이런 글 쓰시느 분들보면 어찌나 부러운지...
    앞으로 자주 와서 배워야겠는걸요~~

    좋은 하루되세요~

  2. BlogIcon 그린B 2009/04/01 16:50 address / modify or delete / reply

    오!! 방문 감사합니다!
    하지만 절대 부러워 하실 필요도 없고 배우려고 하시면 안되는 일이랍니다 - -;;

    도꾸리님도 즐거운 하루 되시고 자주뵈요!!

  3. BlogIcon 고명진 2012/01/10 20:17 address / modify or delete / reply

    좋은 기사 감사합니다

  4. BlogIcon 윤석영 2012/01/12 11:07 address / modify or delete / reply

    손바닥으로 하늘을 가리려한다

|  1  | ...  95  |  96  |  97  |  98  |  99  |  100  |  101  |  102  |  103  | ...  104  |