永发信息网

文件属性时间怎么修改,c++中,如何获得文件属性(创建时间,修改时间,访问时间)?

答案:1  悬赏:10  手机版
解决时间 2021-08-18 11:04
文件属性时间怎么修改,c++中,如何获得文件属性(创建时间,修改时间,访问时间)?
最佳答案
如果是windows平台,使用如下API:
HANDLE WINAPI FindFirstFile(
__in LPCTSTR lpFileName, //文件路径
__out LPWIN32_FIND_DATA lpFindFileData //文件属性信息
);
该函数可以获取文件制定文件包括时间在内的属性信息。这些信息包含在第二个参数执行的结构中:
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime; //文件创建时间
FILETIME ftLastAccessTime; //文件访问时间
FILETIME ftLastWriteTime; //最近一次修改时间
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[MAX_PATH];
TCHAR cAlternateFileName[14];
} WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
其中时间FILETIME结构体如下:
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, *PFILETIME;
MSDN不推荐自己加减获取系统格式的时间,而是推荐使用
BOOL WINAPI FileTimeToSystemTime(
__in const FILETIME *lpFileTime, //上面获取的时间
__out LPSYSTEMTIME lpSystemTime //系统时间
);
这里获取的是系统时间:
typedef struct _SYSTEMTIME {
WORD wYear; //年
WORD wMonth; //月
WORD wDayOfWeek; //周几
WORD wDay; //日
WORD wHour; //时
WORD wMinute; //分
WORD wSecond; //秒
WORD wMilliseconds; //毫秒
} SYSTEMTIME, *PSYSTEMTIME;
至此,时间成功获取
实例代码:
BOOL FileAttributes( LPCTSTR lpszFilePath )
{
WIN32_FIND_DATA FindFileData = { 0 };
HANDLE hFile = ::FindFirstFile(lpszFilePath, &FindFileData);
if( INVALID_HANDLE_VALUE == hFile )
{......余下全文>>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
渗花抛光砖用英语怎么说?
那明知道没有结果还要爱那有可能么?
大冶市黄石大冶市规划建设局灵乡分局哪位知道
发票勾稽什么意思,金蝶软件中销售发票的勾稽
表达自己无能的诗句,事情已经发展到了不可挽
DNF手机令牌怎么打不开啊
对朋友祝福的诗,送别同学的诗句和祝福有哪些?
灵宝市三门峡傻得冒冒菜麻辣香锅这个地址怎么
爱护水的标语童趣,智慧水务的智慧水务的优势
抚琴退敌张飞和关羽好多前?
智力的类型差异,不同个体在智力发展的速度和
高中数学 数列第二题求大神破解过程谢谢
诺基亚C5支持什么阅读软件
大阳摩擦125-2A出厂价格是多少钱,谁知道具体
经历怎么造句
推荐资讯
带有忠义的句子,含有忠义的词语
The advantages of smiling are very obvious
穿越火线找高手
梦幻剑荡四方几率多少
悟空传电影经典句子,电影悟空传猴子被锁住只
长治哪里可以买到丙稀颜料
qq游戏自动隐藏怎么办?
手机Q2010版的为什么服务器异常或者是无权访
乐山沃尔玛联系电话
单机游戏-火爆狂飙5玩不了
天籁 2.0L 标准版 每公里油量是多少?
aunt解释
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?