// 파일크기 구하기 (2G이상도 구함)
HANDLE hFile;
hFile = ::CreateFile(FilePath, 0, 0 , NULL, OPEN_EXISTING, 0, NULL);
PLARGE_INTEGER pLint;
if (INVALID_FILE_SIZE != ::GetFileSizeEx(hFile, pLint))
{
// 64bit
pLint->QuadPart;
// 32bit
pLint->LowPart;
}
* LARGE_INTEGER Union
멤버 설명은 다음과 같습니다. 64bit는 QuadPart를 사용하고 32bit는 나머지를 사용합니다.
Members
LowPart
Low-order 32 bits.
HighPart
High-order 32 bits.
u
LowPart
Low-order 32 bits.
HighPart
High-order 32 bits.
QuadPart
Signed 64-bit integer.
그래서 이렇게 사용하면 되겠습니다.
PLARGE_INTEGER pLargeInteger;
HANDLE hFile;
hFile = ::CreateFile(FilePath, 0, 0 , NULL, OPEN_EXISTING, 0, NULL);
if ( INVALID_FILE_SIZE != ::GetFileSizeEx(hFile, pLargeInteger) )
{
// 64bit인 경우
printf("64bit file size = %d\n", pLargeInteger.QuadPart );
// 32bit인 경우
printf("32bit file size = %d\n", pLargeInteger.LowPart );
}
파일 관련 함수 링크
File Management Functions
http://msdn.microsoft.com/en-us/library/aa364232(VS.85).aspx
- GetFileSize()
http://msdn.microsoft.com/en-us/library/aa364955(VS.85).aspx
- GetFileSizeEx()
http://msdn.microsoft.com/en-us/library/aa364957(VS.85).aspx
반응형
'IT-개발,DB' 카테고리의 다른 글
[개발/MFC] VARIANT, BSTR, SAFEARRAY C++ Tutorial (0) | 2012.02.07 |
---|---|
[개발/VC++] ATL CImage 클래스를 이용한 화면 크기와 일치하는 캡쳐하기 함수 (0) | 2012.01.30 |
[개발/PHP] 웹 가계부 소스 공개 (0) | 2012.01.29 |
[개발/VC++] 인터넷에 쿼리요청 보내기 / HttpSendRequest (0) | 2012.01.27 |
[개발/API] 웹에 있는 파일크기 알아오기 (0) | 2012.01.27 |
댓글