c语言获取文件时间
Ⅰ c语言,在WINDOWS下取文件创建时间的问题
使用_findfirst函数或_findnext函数检索磁盘上的文件能获取相关信息,其中就包含创建日期。
long _findfirst(const char*, _finddata_t *);
long _findnext(const long, _finddata_t *);
findfirst函数用一个文件名来启动一次检索,同时把能找到的第一个文件的数据存入_finddata_t所指向的结构体,然后返回本次检索的句柄,若失败返回-1L
findnext函数则接受一个检索句柄,寻找下一个有效的相关文件,把数据存入_finddata_t所指向的结构体,然后返回0,若失败,则返回非零。
Ⅱ 怎样在C语言里面 获得一个文件夹的创建日期
CFile m_File;
CFileStatus m_status;
m_File.GetStatus('路径', m_status);
CTime cmt(a,b,c,d,e,f);
m_status.m_mtime=cmt;
m_status这个结构体中会有你需要的 东西 创建时间 修改日期等
Ⅲ C++输出系统当前时间,并保存于文件中,求解
不太明白你c写的转换为c++的意思,.c写的本来就可以直接复制到.cpp作为c++代码进行编译
利用time.h 获取时间是c/c++的标准方法,也就是说,这样写出来的代码,windows和linux都能用;
而system("time")不是c++专用的方法,c语言也可以用,它本质就是在命令行cmd输入命令time 一样,只能显示出结果,无法获得返回值。我估计你是因为这个无法写入文件。
我推荐你是用timer.h来获取时间
给你一段代码参考吧,可以获取当前的时间(c/c++都可以):
#include<time.h>
time_t timeSec=time (NULL); //获取1970.1.1至当前秒数time_t
struct tm * timeinfo= localtime ( &timeSec ); //创建TimeDate,并转化为当地时间,
//struct tm * timeinfo = gmtime ( &timeSec ); //创建TimeDate,并转化为GM时间,
printf ( "The current date/time is: %s\n", asctime (timeinfo) );
//获取年 月 日 时 分 秒 对应的int值:
printf("%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
---------------------------------------------------------------------
有了上面的时间获取方法,要写入文件也是很简单的了:
FILE *fp=fopen("xxx.txt","w");
fprintf(fp, "%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);