VC++获取文件修改时间?请写代码举例

高效方法... 高效方法 展开
 我来答
_0x1F1E5E10
2014-11-13 · TA获得超过295个赞
知道小有建树答主
回答量:293
采纳率:50%
帮助的人:313万
展开全部

给你看段纯C+SDK代码吧,是创建时间 你把代码看明白 自己稍微改下就是修改时间了

先去吧这个结构体类型整明白WIN32_FILE_ATTRIBUTE_DATA

把GetFileAttributesEx这个API弄明白

     case WM_COMMAND:
if(lParam == (LPARAM)hBtn)
{
GetWindowText(hEdit, buf, 1000);
if(!strlen(buf))
{
MessageBox(hwnd, TEXT("文本框为空!"), TEXT("错误"), MB_OK);
}
else
{
WIN32_FILE_ATTRIBUTE_DATA file_attr;
FILETIME  LocalFileTime;
SYSTEMTIME SysTime;
GetFileAttributesEx(buf, GetFileExInfoStandard, (LPVOID)(&file_attr));
FileTimeToLocalFileTime(&file_attr.ftCreationTime, &LocalFileTime);//时间转换msdn上拿来主义copy来的
FileTimeToSystemTime(&LocalFileTime, &SysTime);
sprintf(buf, "Time Generated: %02d-%02d-%02d   %02d:%02d:%02d\n",
SysTime.wYear, SysTime.wMonth, SysTime.wDay, 
SysTime.wHour, SysTime.wMinute, SysTime.wSecond);
MessageBox(hwnd, buf, TEXT("文件创建时间为"), MB_OK);
}
}
return 0;
追问
谢谢
zhccsd
推荐于2017-12-16 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:922万
展开全部
这里只举了修改时间的例子,其他两个自己替换成相应的FILETIME
void test()
{
FILETIME CreateTime;// 文件创建的时间
FILETIME VisitTime;//文件访问时间
FILETIME ModifyTime;// 文件修改时间
FILETIME LocalTime;//本地时间
BOOL bGotFileCreateTime;
HANDLE hOriginal = CreateFile( _T("c:\\1.exe"), GENERIC_READ ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL );
if( INVALID_HANDLE_VALUE == hOriginal )
{
printf("打开文件失败\n");
}
else
{
bGotFileCreateTime = GetFileTime( hOriginal, &CreateTime, &VisitTime, &ModifyTime );
SYSTEMTIME tModify;
FileTimeToLocalFileTime(&ModifyTime,&LocalTime);//刚获取到的时间是0时区的标准时间,先转换到本地时间
FileTimeToSystemTime(&LocalTime,&tModify);//转换为SYSTEMTIME
printf("%d-%d-%d %d:%d:%d:%d\n",tModify.wYear,tModify.wMonth,tModify.wDay,tModify.wHour,tModify.wMinute,tModify.wSecond,tModify.wMilliseconds);
}
}
追问
这个文件c:\\1.exe 预先硬盘上面就有了。我只需要读取他的修改时间。。如果弄?
追答
建一个控制台项目,把我的代码考进去,在main中添加test();运行就可以看到结果,是修改时间。别忘了加#include 
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式