검색결과 리스트
글
linux
int lstat(const char *restrict path, struct stat *restrict buf);
lstat() 함수의 두번째 인자로 넘어옴
lstat( 파일 풀경로, stst구조체 );
struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device type (if inode device) */ off_t st_size; /* total size, in bytes */ blksize_t st_blksize; /* blocksize for filesystem I/O */ blkcnt_t st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last change */ }; |
mtime : vi, >> 등으로 파일 수정 ( ls -l로 확인 가능시간)
ctime : chmod, chown 등과 관련 있음
Windows
HANDLE WINAPI FindFirstFile(
__in LPCTSTR lpFileName,
__out LPWIN32_FIND_DATA lpFindFileData
);
FindFirstFile() 함수의 두번째 인자로 넘어옴
FindFirstFile( 파일 경로, LPWIN32_FIND_DATA 구조체 )
typedef struct _WIN32_FIND_DATAA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; CHAR cFileName[ MAX_PATH ]; CHAR cAlternateFileName[ 14 ]; #ifdef _MAC DWORD dwFileType; DWORD dwCreatorType; WORD wFinderFlags; #endif } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA; |
ftLastAccessTime : 파일 접근 시간
ftLastWriteTime : 파일 수정 시간
기준시간
Windows
1601년 1월 1일, 64비트 정수, 100ns에 1증가
linux
1970년 1월 1일, 32비트 정수, 1초에 1증가
Windows -> linux : windowsTime / 10000000 - 11644473600
linux -> Windows : (linuxTime + 11644473600) * 10000000
MSDN를 참고 하자.
http://support.microsoft.com/kb/q167296/
#define Int32x32To64(a, b) ((__int64)(((__int64)((long)(a))) * ((long)(b))))
'Linux > C/C++' 카테고리의 다른 글
How to truncate a file in C? (0) | 2012.07.11 |
---|---|
파일 유무 확인 (0) | 2012.07.10 |
linux GetTickCount (0) | 2012.07.10 |
유닉스에서 디렉토리 다루기 (0) | 2012.07.10 |
Configuration module to update in a file (0) | 2012.07.02 |
RECENT COMMENT