|
WIN32 API중 GetFileSize()를 사용하시면 됩니다.
사용법은 아래와 같으며 4G가 넘는 File은 테스트하지 못했네요.
행복하세요.
DWORD dwLow;
DWORD dwHigh = 0;
PCHAR pchFile = "UserFile.DAT"; //<-- File 크기를 앍고 싶은 Fle의 Path.
HANDLE hFile = ::CreateFile( pchFile, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL );
if( hFile != INVALID_HANDLE_VALUE ) {
dwLow = ::GetFileSize( hFile, &dwHigh );
if( (dwLow != 0xFFFFFFFF) || GetLastError() == NO_ERROR ) {
AnsiString asStr;
asStr.sprintf( "%I64d", (__int64) dwHigh << 32 | dwLow );
ShowMessage( asStr );
}
else {
ShowMessage( "File 정보 읽기 실패" );
}
::CloseHandle( hFile );
}
-------------------------------------------------------------------------------------
너구리 님이 쓰신 글 :
: 자신이 지정한 파일의 크기(size)를 알아오는 소스 없나요?
: Help에서도 도저히 못찾겠어요..
: 아시는 분 답변 부탁 드립니다.
|