경로가 주어지면 C++로 Windows에서 파일의 파일 크기와 날짜 스탬프를 얻는 방법은 무엇입니까?VC++ : 파일의 시간과 날짜를 얻는 방법?
답변
FindFirstFile()
을 사용하면 열 필요없이 두 가지 모두를 한꺼번에 가져올 수 있습니다 (GetFileSize()
및 GetInformationByHandle()
필요). 약간의 래퍼
bool get_file_information(LPCTSTR path, WIN32_FIND_DATA* data)
{
HANDLE h = FindFirstFile(path, &data);
if(INVALID_HANDLE_VALUE != h) {
return false;
} else {
FindClose(h);
return true;
}
}
그런 다음 파일 크기가 WIN32_FIND_DATA의 nFileSizeHigh
및 nFileSizeLow
회원에서 사용할 수 있습니다 유용하고, 타임 스탬프가 ftCreationTime
, ftLastAccessTime
및 ftLastWriteTime
회원에서 사용할 수 있도록하지만, 조금 힘드는입니다.
GetFileSize/GetFileSizeEx 및 GetFileInformationByHandleEx 및 FileBasicInfo를 사용하여이 정보를 검색 할 수 있습니다.
두 함수 모두 핸들을 사용하므로 이러한 함수를 호출하기 전에 경로에서 CreateFile을 사용해야합니다.
// Error handling removed for brevity
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
LARGE_INTEGER fileSize;
GetFileSizeEx(hFile, &fileSize);
FILE_BASIC_INFO fileInfo);
GetFileInformationByHandle(hFile, FileBasicInfo, fileInfo, sizeof(fileInfo));
// fileInfo.CreationTime is when file was created.
휴대 성을 원하는 경우 POSIX stat을 사용할 수도 있습니다. Windows는 여전히 그 사용을 지원합니다.
WinCE에서 사용할 수없는 것처럼 보이지만 좋은 아이디어입니다. Upvote! – Qwertie
다른 답변을 추가하려면 GetFileTime으로 전화하여 파일 시간 만 가져옵니다. 이 API는 또한 핸들을 요구하며 GetFileInformationByHandle API보다 쉽습니다. BTW GetFileInformationByHandleEx는 VISTA 이상에서만 지원됩니다.
나는이 api가 존재한다고 맹세했지만, GetFileTimes (검색 결과)에 대한 나의 검색은 아무 것도 떠오르지 않았다. 좋은 캐치. – Michael
내 답변은 어쨌든 애드온으로 추가 될 예정이었습니다. 나는 너의 것을 질문에 대한 더 완전한 대답으로 본다. 그래서 내가 네게 투표했다. –
- 1. 오라클에서 2 개의 날짜를 빼서 시간과 분을 결과로 얻는 방법
- 2. timepicker에서 현재 시간과 날짜를 비교하는 방법
- 3. 미래 날짜를 얻는 방법
- 4. 상대 날짜를 얻는 방법
- 5. 시간과 날짜를 mysql datetime으로 변환
- 6. Delphi에서 파일의 생성/마지막 수정 날짜를 얻는 방법?
- 7. 시간과 가장 가까운 시간을 얻는 방법
- 8. 우리나라에서 정확한 날짜를 얻는 방법?
- 9. mdx에서 최신 날짜를 얻는 방법?
- 10. CVS : 태그가 생성 된 날짜를 얻는 방법?
- 11. PHP에서 사용자의 시간과 날짜를 아는 것이 가능합니까?
- 12. 시간과 날짜를 사용하여 분석 데이터 객체를
- 13. 시간과 날짜를 출력하는 데 사용해야하는 도스는 무엇입니까?
- 14. CVS : 파일에 태그가 달린 시간과 날짜를 얻습니다.
- 15. vC++에서 windows time을 얻는 방법은 무엇입니까?
- 16. 파일의 생성 날짜를 설정하십시오.
- 17. 열린 파일의 이름을 얻는 방법?
- 18. 파일의 이전 버전을 얻는 방법
- 19. XSLT에서 XML 파일의 파일 생성/수정 날짜를 얻는 방법은 무엇입니까?
- 20. 사용자 도메인의 만료 날짜를 얻는 방법
- 21. 반복없이 데이터베이스와 디스플레이에서 날짜를 얻는 방법?
- 22. QCalendarWidget에 표시된 모든 날짜를 얻는 방법
- 23. 아이튠즈 연결 계정에서 주문 날짜를 얻는 방법?
- 24. 날짜/시간 형식에서 날짜를 얻는 방법
- 25. 프로세스의 마지막 활성 날짜를 얻는 방법?
- 26. 마지막 날 금요일 날짜를 얻는 깔끔한 방법
- 27. 특정 시간대의 날짜를 얻는 방법? 모든
- 28. jQuery UI Datepicker로 선택한 날짜를 얻는 방법
- 29. jquery를 사용하여 현재 날짜를 얻는 방법?
- 30. AppleScript로 - 파일의 생성/수정 날짜를 찾는
예제에는 세 가지 오류가 있으며 타임 스탬프를 디코딩하는 방법에 유의해야합니다. FileTimeToSystemTime을 호출하십시오. 어쨌든 감사합니다. – Qwertie
죄송합니다. 서둘러 쓰기! 이제 해결되었습니다. :-) – DannyT