FATFS创建文件夹时如何添加“创建时间”?
如题!通过实现get_fattime函数,创建文件时是可以添加“创建时间”的,但是创建文件夹时却不能,请各位帮忙,谢谢!
另外,f_utime添加的是“修改时间”
本帖最后由 D-BOY 于 2017-12-11 16:37 编辑
多谢版主,问题解决!
f_mkdir内部使用的是ST_DWORD(dir + DIR_WrtTime, tm); /* Created time */
实际上DIR_WrtTime是“修改时间”,添加“创建时间”应将DIR_WrtTime改为DIR_CrtTime。效果如图
这个函数需要自己写,如下说明:
http://elm-chan.org/fsw/ff/doc/fattime.html 安 发表于 2017-12-11 15:37
这个函数需要自己写,如下说明:
http://elm-chan.org/fsw/ff/doc/fattime.html
谢谢,这个函数我自己写过了,现在的问题是文件夹无法添加“创建时间”,而文件却可以 我看代码里面有,楼主看一下创建文件夹的代码有没有:
if (res == FR_OK) res = dir_register(&dj); /* Register the object to the directoy */
if (res != FR_OK) {
remove_chain(dj.fs, dcl); /* Could not register, remove cluster chain */
} else {
dir = dj.dir;
dir = AM_DIR; /* Attribute */
ST_DWORD(dir + DIR_WrtTime, tm); /* Created time */
st_clust(dir, dcl); /* Table start cluster */
dj.fs->wflag = 1;
res = sync_fs(dj.fs); 安 发表于 2017-12-11 15:45
我看代码里面有,楼主看一下创建文件夹的代码有没有:
if (res == FR_OK) res = dir_register(&dj); /* Reg ...
多谢!f_mkdir里面是有这段代码的,但文件夹还是没有“创建时间”实际情况参考附件图片
老铁,怎么获取文件的创建时间,f_stat()函数获取的是最近修改的时间
页:
[1]