解读VC++编程中的文件操作API和CFile类(6)
下面就举一个例子来实现:
CFileStatus status;
char *path = "D:VSS";
if(CFile::GetStatus( path, status ))
{
CString cTime,mTime,aTime;
cTime = status.m_ctime.Format("文件建立时间:%Y年%m月%d日 %H时%M分%S秒");
mTime = status.m_mtime.Format("文件最近修改时间:%Y年%m月%d日 %H时%M分%S秒");
aTime = status.m_atime.Format("文件最近访问时间:%Y年%m月%d日 %H时%M分%S秒");
CString str;
str = cTime + "
" + mTime +"
" + aTime ;
MessageBox(str);
}
4.取得和设置文件的属性
DWORD GetFileAttributes(
LPCTSTR lpFileName //文件或文件夹路经
);
BOOL SetFileAttributes(
LPCTSTR lpFileName, // 文件名
DWORD dwFileAttributes // 要设置的属性
);
取得的文件属性包括:FILE_ATTRIBUTE_ARCHIVE,FILE_ATTRIBUTE_HIDDEN,FILE_ATTRIBUTE_NORMAL,FILE_ATTRIBUTE_OFFLINE,FILE_ATTRIBUTE_READONLY,FILE_ATTRIBUTE_SYSTEM,FILE_ATTRIBUTE_TEMPORARY
不能设置的文件属性包括有:FILE_ATTRIBUTE_COMPRESSED,FILE_ATTRIBUTE_DIRECTORY,FILE_ATTRIBUTE_ENCRYPTED,FILE_ATTRIBUTE_REPARSE_POINT,FILE_ATTRIBUTE_SPARSE_FILE,FILE_ATTRIBUTE_SYSTEM。
CFileStatus中也定义了一组属性:
enum Attribute {
normal,
readOnly,
hidden,
system,
volume,
directory,
archive
};
可以通过if((status. m_attribute& readOnly) = =FILE_ATTRIBUTE_READONLY)来判断,这里利用另外的API来实现获得文件的详细信息:
HANDLE FindFirstFile(
LPCTSTR lpFileName, //文件或文件夹路经r
LPWIN32_FIND_DATA lpFindFileData
);
BOOL FindNextFile(
HANDLE hFindFile,
LPWIN32_FIND_DATA lpFindFileData
);
BOOL FindClose(HANDLE hFindFile );
- 上一篇:VC编程改变指定的文件或文件夹的属性
- 下一篇:使用VC6.0实现窗口的任意分割