cfile file;
bool bfile = file.open(cspath, cfile::moderead);
if ( !bfile )
cfilestatus status;
file.getstatus(status);
char szcreatetime[24];
int nreturn = sprintf(szcreatetime,("%04d-%02d-%02d %02d:%02d:%02d.000"),
status.m_ctime.getyear(), status.m_ctime.getmonth(), status.m_ctime.getday(),
status.m_ctime.gethour(), status.m_ctime.getminute(), status.m_ctime.getsecond());
char szaccesstime[24];
nreturn = sprintf(szaccesstime,("%04d-%02d-%02d %02d:%02d:%02d.000"),
status.m_atime.getyear(), status.m_atime.getmonth(), status.m_atime.getday(),
status.m_atime.gethour(), status.m_atime.getminute(), status.m_atime.getsecond());
char szmodifytime[24];
nreturn = sprintf(szmodifytime,("%04d-%02d-%02d %02d:%02d:%02d.000"),
status.m_mtime.getyear(), status.m_mtime.getmonth(), status.m_mtime.getday(),
status.m_mtime.gethour(), status.m_mtime.getminute(), status.m_mtime.getsecond());
file.close();
注意標紅的語句,這是個大坑。
dword dwsize = 0;
int nwsize= getfileversioninfosizeex(file_ver_get_localised, cspath.getbuffer(cspath.getlength()), null);
cspath.releasebuffer();
在未呼叫file.close();前,getfileversioninfosizeex()的返回值始終是0,用getlasterror()取得的錯誤**是1812,the specified image file did not contain a resource section.在這個地方花了半天時間,查閱各種資料,也未能找到原因,但是當單獨呼叫getfileversioninfosizeex卻又能成功,仔細往前面檢查**,發現檔案開啟了,但是卻沒有關閉,於是有譜了,估計問題出在這個地方,於是在呼叫這個方法之前就先將檔案close,謝天謝地,就是這個問題!
細節,要注意細節啊!
if ( nwsize > 0 )
memset(szbuffer,0,nwsize);
if(!getfileversioninfo(cspath.getbuffer(cspath.getlength()),0,nwsize,(pvoid)szbuffer))
cspath.releasebuffer();
unsigned int nversionlen;
vs_fixedfileinfo* pvs_fixedfileinfo;
verqueryvalue(szbuffer,
text("\\"),
(lpvoid*)&pvs_fixedfileinfo,
&nversionlen);
cstring filestr;
vs_fixedfileinfo vsffi = *pvs_fixedfileinfo;
filestr.format(_t("%u.%u.%u.%u"),
hiword(vsffi.dwfileversionms),
loword(vsffi.dwfileversionms),
hiword(vsffi.dwfileversionls),
loword(vsffi.dwfileversionls) );
cstring productstr;
productstr.format(_t("%u.%u.%u.%u"),
hiword(vsffi.dwproductversionms),
loword(vsffi.dwproductversionms),
hiword(vsffi.dwproductversionls),
loword(vsffi.dwproductversionls) );
}
記錄於此。
php獲取檔案建立時間 修改時間
filemtime string filename 返回檔案上次被修改的時間,出錯時返回 false。時間以 unix 時間戳的方式返回,可用於 date filectime string filename 返回檔案上次 inode 被修改的時間,如果出錯則返回 false。時間以 unix 時間戳...
Linux獲取檔案最後修改時間
使用ll指令檢視檔案資訊 root localhost urldata ll xsb90.txt rw rw r 1 zabbix zabbix 1660151 8月 1512 16 xsb90.txt其中包含檔案的最後修改時間,可以使用awk指令獲取其中的修改時間 root localhost u...
python 遍歷檔案 獲取檔案修改時間
示例如下 coding utf 8 import os import sys import time reload sys sys.setdefaultencoding utf8 path u d vpn 資料倉儲儲存過程修改備份 for root,dir,files in os.walk path...