File Size 출력 - StrFormatByteSize
파일의 크기를 출력해야 할때, 유용한 API.
LPTSTR StrFormatByteSize( LONGLONG qdw, LPWSTR pwszBuf, UINT cchBuf );
보통, 파일크기는 정수형 변수에 Byte단위로 들어있기 때문에, 출력을 위해서는 약간의 처리가 필요하다.
(변태가 아니라면 1493021Byte보다는 1.3MB 로 보고 싶어한다 -_-)
그런데, 이 처리를 좀 쓸만하게 해 보려면 예상외로 꽤나 복잡해 진다.
Byte, KB, MB, GB 처리는 1024로 나눠가면서 하면 된다지만.. 소수점도 처리해야하고, 반올림도 싱경써야하고..
그럴땐 간단하게 이 함수를 사용해 주시면 되겠다.
파일 크기를 탐색기에서 표시되는 형태의 문자열로 변환해 준다.
- LPCTSTR lpszTestFile = _T("c:\\야동.avi"); // ...-_-;
- // 이 코드는 파일 크기를 얻어오기 위한예제입니다. (정수형으로)
- HANDLE hFile;
- hFile = CreateFile( lpszTestFile ,GENERIC_READ ,FILE_SHARE_READ ,NULL ,OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL ,NULL );
- DWORD dwFileSize = GetFileSize( hFile, NULL );
- // 여기가 사용법. 참 쉽죠?(...)
- TCHAR szBuffer[32];
- StrFormatByteSize( dwFileSize, szBuffer, 32 );
- ::MessageBox( NULL, szBuffer, _T("File size"), MB_OK );
- CloseHandle( hFile );
'소프트웨어 개발' 카테고리의 다른 글
| Connection String이 필요할땐? (3) | 2009/04/03 |
|---|---|
| std::string의 ReplaceAll 함수 (0) | 2009/04/02 |
| File Size 출력 - StrFormatByteSize (2) | 2009/04/01 |
| eclipse 맞춤법 검사 끄기 (3) | 2009/03/31 |
| Windows Shell Path Handling API (5) | 2009/03/31 |
| Console에서 Unicode 한글출력 (0) | 2009/03/30 |

Tag //

Comment List
부럽습니다~
전 it쪽에는 젬병이라...
이런 글 쓰시느 분들보면 어찌나 부러운지...
앞으로 자주 와서 배워야겠는걸요~~
좋은 하루되세요~
오!! 방문 감사합니다!
하지만 절대 부러워 하실 필요도 없고 배우려고 하시면 안되는 일이랍니다 - -;;
도꾸리님도 즐거운 하루 되시고 자주뵈요!!