完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用“LittleFS”
并将 listDir 函数替换为新的“listDel 函数;我遇到的问题是错误的时间戳日期和时间。示例草图的唯一变化是替换函数。 时间戳与此函数正确。 原始库示例函数: 代码:全选void listDir(const char * dirname) { Serial.printf(\"Listing directory: %s\\n\", dirname); Dir root = LittleFS.openDir(dirname); while (root.next()) { File file = root.openFile(\"r\"); Serial.print(\" FILE: \"); Serial.print(root.fileName()); Serial.print(\" SIZE: \"); Serial.print(file.size()); time_t cr = file.getCreationTime(); time_t lw = file.getLastWrite(); file.close(); struct tm * tmstruct = localtime(&cr); Serial.printf(\" CREATION: %d-%02d-%02d %02d:%02d:%02d\\n\", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec); tmstruct = localtime(&lw); Serial.printf(\" LAST WRITE: %d-%02d-%02d %02d:%02d:%02d\\n\", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec); } } 此函数的时间戳有误。 新的“listDel”功能: 代码:全选void listDel(const char * dirname) { Serial.printf(\"Listing directory: %s\\n\", dirname); Dir root = LittleFS.openDir(\"/\"); while(root.next()) { File file = root.openFile(\"r\"); String str = root.fileName(); i++; filelist = strdup(str.c_str()); Serial.print(filelist); Serial.print(\" \"); Serial.print(i); Serial.println(\"\"); file = file.openNextFile(); time_t cr = file.getCreationTime(); time_t lw = file.getLastWrite(); file.close(); struct tm * tmstruct = localtime(&cr); Serial.printf(\" CREATION: %d-%02d-%02d %02d:%02d:%02d\\n\", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec); tmstruct = localtime(&lw); Serial.printf(\" LAST WRITE: %d-%02d-%02d %02d:%02d:%02d\\n\", (tmstruct->tm_year) + 1900, (tmstruct->tm_mon) + 1, tmstruct->tm_mday, tmstruct->tm_hour, tmstruct->tm_min, tmstruct->tm_sec); } for(i = 1;i < 5; i++) //Delete only first four files; keep from getting too many log files. { LittleFS.remove(\"/\" + String(filelist)); Serial.print(\"Removed: \"); Serial.print(filelist); Serial.print(\" \"); Serial.print(i); Serial.println(\"\"); } i = 0; } 为什么我使用“listDel”而不是“listDir”时得到错误的时间戳? 附加的修改库示例使用修改后的“ESP8266FtpServer.cpp 与“LittleFS”一起使用。“ LittleFS”是“SPIFFS”的替代品。 “listDel”函数的目的是将文件名放入数组中;然后删除前四个文件。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1143 浏览 1 评论
582浏览 6评论
480浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
465浏览 5评论
466浏览 4评论
441浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:30 , Processed in 1.032362 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号