我在用这个:
//char* buffer has the name of filestruct stat buf;file *tf;tf = fopen(buffer,"r");//check handlefstat(tf,&buf);fclose(tf);pMyObj->lastchanged=buf.st_mtime;
但这似乎不起作用.
我究竟做错了什么?是否还有其他更可靠/简单的方法可以在linux下获取文件创建日期?
#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>#ifdef HAVE_ST_BIRTHTIME#define birthtime(x) x.st_birthtime#else#define birthtime(x) x.st_ctime#endifint main(int argc,char *argv[]){ struct stat st; size_t i; for( i=1; i<argc; i++ ) { if( stat(argv[i],&st) != 0 ) perror(argv[i]); printf("%i\n",birthtime(st)); } return 0;}
您需要通过检查sys / stat.h或使用某种autoconf构造来确定您的系统是否在其stat结构中具有st_birthtime.
总结以上是内存溢出为你收集整理的如何在Linux中获取文件创建日期?全部内容,希望文章能够帮你解决如何在Linux中获取文件创建日期?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)