请大家帮下忙 先谢谢大家了
获取文件属性
void CFilePropertyView::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
//构造打开通用对话框
CFileDialog FileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, L"All Files(*.*) | *.*||");
//调用并显示“打开”对话框
if (FileDlg.DoModal() == IDOK)
{
//获取文件位置信息
m_strFilePath = FileDlg.GetPathName();
//设置显示属性标志为FALSE
}
CFileStatus status;
//调用GETSTAUTS函数 并将文件信息保存到CFILESTATUS结构体中
if (CFile::GetStatus(m_strFilePath, status))
{
//创建文件信息的输出字符串格式
m_strCreateTime = status.m_ctime.Format(L"创建时间:%Y年%m月%d日%H时%M分%S秒");
m_strModifyTime = status.m_mtime.Format(L"修改时间:%Y年%m月%d日%H时%M分%S秒");
m_strAccessTime = status.m_atime.Format(L"访问时间:%Y年%m月%d日");
m_strSize.Format(L"文件大小: %d字节", status.m_size);
m_strAttribute.Format(L"属性: %s%s%s%s",
(status.m_attribute&CFile::readOnly) == CFile::readOnly ? L"只读" : L"",
(status.m_attribute & CFile::hidden) == CFile::hidden ? L"隐藏" : L"",
(status.m_attribute & CFile::system) == CFile::system ? L"系统" : L"",
(status.m_attribute & CFile::archive) == CFile::archive ? L"归档" : L"");
m_strFullName.Format (L"文件名: %s", status.m_szFullName);
}
else
{
m_strCreateTime = L"该文件不存在!";
m_strModifyTime = L"";
m_strAccessTime = L"";
m_strSize = L"";
m_strAttribute = L"";
m_strFullName = L"";
}
//设置显示属性标志为TRUE
bFlag = TRUE;
Invalidate();}void CFilePropertyView::OnDraw(CDC* pDC)
{
CFilePropertyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return; // TODO: 在此处为本机数据添加绘制代码
if (m_strFilePath != L"")
{
//显示文件位置
pDC->TextOutW(40, 40, L"文件位置:" + m_strFilePath);
}
if (bFlag)
{
pDC->TextOut(40, 60, m_strCreateTime);
pDC->TextOut(40, 80, m_strModifyTime);
pDC->TextOut(40, 100,m_strAccessTime);
pDC->TextOutW(40, 120,m_strSize);
pDC->TextOutW(40, 140,m_strAttribute);
pDC->TextOutW(40, 160,m_strFullName);
}
}问题是文件属性的创建时间 访问时间 修改时间都无法显示
可文件大小 名字 属性 和路径都正常显示了
请教高手原因 是不是赋值错了?
获取文件属性
void CFilePropertyView::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
//构造打开通用对话框
CFileDialog FileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, L"All Files(*.*) | *.*||");
//调用并显示“打开”对话框
if (FileDlg.DoModal() == IDOK)
{
//获取文件位置信息
m_strFilePath = FileDlg.GetPathName();
//设置显示属性标志为FALSE
}
CFileStatus status;
//调用GETSTAUTS函数 并将文件信息保存到CFILESTATUS结构体中
if (CFile::GetStatus(m_strFilePath, status))
{
//创建文件信息的输出字符串格式
m_strCreateTime = status.m_ctime.Format(L"创建时间:%Y年%m月%d日%H时%M分%S秒");
m_strModifyTime = status.m_mtime.Format(L"修改时间:%Y年%m月%d日%H时%M分%S秒");
m_strAccessTime = status.m_atime.Format(L"访问时间:%Y年%m月%d日");
m_strSize.Format(L"文件大小: %d字节", status.m_size);
m_strAttribute.Format(L"属性: %s%s%s%s",
(status.m_attribute&CFile::readOnly) == CFile::readOnly ? L"只读" : L"",
(status.m_attribute & CFile::hidden) == CFile::hidden ? L"隐藏" : L"",
(status.m_attribute & CFile::system) == CFile::system ? L"系统" : L"",
(status.m_attribute & CFile::archive) == CFile::archive ? L"归档" : L"");
m_strFullName.Format (L"文件名: %s", status.m_szFullName);
}
else
{
m_strCreateTime = L"该文件不存在!";
m_strModifyTime = L"";
m_strAccessTime = L"";
m_strSize = L"";
m_strAttribute = L"";
m_strFullName = L"";
}
//设置显示属性标志为TRUE
bFlag = TRUE;
Invalidate();}void CFilePropertyView::OnDraw(CDC* pDC)
{
CFilePropertyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return; // TODO: 在此处为本机数据添加绘制代码
if (m_strFilePath != L"")
{
//显示文件位置
pDC->TextOutW(40, 40, L"文件位置:" + m_strFilePath);
}
if (bFlag)
{
pDC->TextOut(40, 60, m_strCreateTime);
pDC->TextOut(40, 80, m_strModifyTime);
pDC->TextOut(40, 100,m_strAccessTime);
pDC->TextOutW(40, 120,m_strSize);
pDC->TextOutW(40, 140,m_strAttribute);
pDC->TextOutW(40, 160,m_strFullName);
}
}问题是文件属性的创建时间 访问时间 修改时间都无法显示
可文件大小 名字 属性 和路径都正常显示了
请教高手原因 是不是赋值错了?
m_strCreateTime = status.m_ctime.Format(L"创建时间:%Y年%m月%d日%H时%M分%S秒");
在这家断电,看看m_strCreateTime获取成功了么
PS,广告越来越牛了.