把文件名存到一个变量s中,用strrchr(s,'.')函数去得到扩展名,进行判断就可以了!
可以用 文件状态 ,例如 文件建立时间,文件最后一次修改时间,文件最后一次被访问的时间,做判断。获取文件状态用:
#include <io.h>
int get_namein_time(char *namein, char * ftime){
struct _finddata_t fileinfo
int res,DEBUG=0,flag=0
if ( (res = _findfirst(namein, &fileinfo)) == -1){
if (DEBUG==1) printf("get file info error !\n")
return 0
}
if ( strcmp(namein,fileinfo.name)==0 ) {
flag=1goto Lab
}
do {
if ( strcmp(namein,fileinfo.name)==0 ) {flag=1goto Lab}
} while ( _findnext(res, &fileinfo) ==0)
Lab: strcpy(ftime,ctime(&fileinfo.time_write))
_findclose(res)
return flag
}
最可靠的是用文件的哈希码判断,就是区块链中用的方法。
例如视窗系统,调用系统 Certutil 计算出 文件的 哈希码,与文件原来的码对比。若变了,就是被修改了。
Certutil -hashfile abc.txt MD5 这个检查 文件 abc.txt
Certutil -hashfile XYZ.txt SHA512 这个检查 文件 XYZ.txt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)