零贰'Blog

零贰'Blog - 记录日常点点滴滴..........

VC++之文件高级操作之获取文件属性

VC代码编程

获取文件属性

一、创建对话框应用程序

二、编辑对话框资源

三、添加函数

四、添加代码

void CCFileDlg::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnOK();
// CDialog::OnCancel();
}

void CCFileDlg::OnOK()
{
// TODO: Add extra validation here
CString fileload;
CFileDialog file(TRUE,"文件","*.*",OFN_HIDEREADONLY,"FILE(*.*)|*.*||",NULL);
if(file.DoModal()==IDOK)
{
fileload=file.GetPathName();
CFileStatus filestatus;
CFile::GetStatus(fileload,filestatus); //获取文件信息
CTime createtime=filestatus.m_ctime;
CTime modifytime=filestatus.m_mtime;
CTime readtime=filestatus.m_atime;
CString filesize;
filesize.Format("%d",filestatus.m_size);
CString filename;
filename.Format("%s",filestatus.m_szFullName);
GetDlgItem(IDC_CREATE_TIME)->SetWindowText(createtime.Format("%Y年%m月%d日%H:%M:%S"));
GetDlgItem(IDC_REPAIRE_TIME)->SetWindowText(createtime.Format("%Y年%m月%d日%H:%M:%S"));
GetDlgItem(IDC_VISITE_TIME)->SetWindowText(createtime.Format("%Y年%m月%d日%H:%M:%S"));
GetDlgItem(IDC_FILESIZE)->SetWindowText(filesize);
GetDlgItem(IDC_FILENAME)->SetWindowText(filename);
}
// CDialog::OnOK();
}

五、编译

六、运行

七、函数说明
1、CFile::GetStatus函数声明
BOOL GetStatus(LPCTSTR lpszFileName,CFileStatus& rStatus)
lpszFileName:字符串指针,放置文件路径。
rStatus:指向CFileStatus结构的对象,CFileStatus结构放置文件的各种属性
功能:获取文件信息。成功获取文件属性信息,返回TRUE;否则返回FALSE。
2、CFileStatus结构声明
struct CFileStatus
{
CTime m_ctime;
CTime m_mtime;
CTime m_atime;
LONG m_size;
BYTE m_attribute;
BYTE m_padding;
TRCHAR m_szFullName[_MAX_PATH];
}
m_ctime:文件创建时间。
m_mtime:文件最后修改时间。
m_atime:文件最近访问时间。
m_size:文件大小。
m_attribute:文件属性。
m_szFullName:文件的绝对路径。
功能:放置文件各种属性信息。
3、CFileDialog::GetPathName函数声明
CString GetPathName()const
功能:获取文件的绝对路径。