fatfs输出目录
利用fatfs文件系统,
如何输出SD卡根目录下的各个文件夹名字呢?
程序如下:
u8 Dirname_i;
u8 Dirname_j;
DIR dir; //读取txt里的目录用,还是要把fatfs看懂才行呀![]
FILINFO f_info;
exfuns_init();
res=f_mount(fs[],"0:",); //挂载sd卡,,,
//下面我想得到文件夹的名字
//以下代码实现读取根目录下所有的子目录名(短文件名)并保存到数组Dirname[MAXDIR][13]中,后来我把这个数组改成了Dirname[80][13]
// #define MAXDIR 80;
if(f_opendir(&dir,"")!=FR_OK)
{
//错误处理代码...
}
for(Dirname_i=;Dirname_i<;Dirname_i++) //把Dirname数组清零,用于装文件夹名.其实这个可以省略,因为当定义好Dirname[][]的时候,它就是空的
{
for(Dirname_j=;Dirname_j<;Dirname_j++)
{
Dirname[Dirname_i][Dirname_j]=;
}
}
maxdir=;
while()
{
if(f_readdir(&dir,&f_info)==FR_OK) //还是不太清楚,就连fatfs最基本的格式都不清楚。????
{
if(f_info.fname[]==)break; //这里代表读完了所有的文件夹目录????因为调用一次f_readdir(),就会输出一个文件夹名,如果把所有的文件夹名都输出了,那么就会输出一个空的字符串,这里就是判断是否输出的是空字符串.
}
else break; //如果读取目录出错,也要跳出了.????
if(f_info.fattrib&AM_DIR) //目录,有目录可以提取.
{
if(maxdir<)
{
strncpy(&Dirname[maxdir][],f_info.fname,); //把目录提取出来放到Dirname的一行里
maxdir++; //进行加加,预计能提取80个,因为我们这个循环是80次的.
}
else break;
}
}
...
仿真结果:


下面用电脑打开SD卡进行验证:

fatfs输出目录的更多相关文章
- 【Tip】如何让引用的dll随附的xml注释文档、pdb调试库等文件不出现在项目输出目录中
项目输出目录(bin/debug|release)中经常是这个样子: main.exemain.pdb a.dll a.xml b.dll b.pdb b.xml ... 其中xml是同名dll的注释 ...
- 修改XCode的Product的输出目录(有时不生效需看)
通常在情一般都不建议使用绝对路径,因为写死之后,换环境,换平台,又要重新修改路径,因此常常使用相对路径,哪么相对路径通常使用的就是环境变量了. 在Mac 中,xcode 中build settings ...
- HDInsight 指定输出目录 insert overwrite
基本语法 insert overwrite local directory '/example/demo/' select * from table; 可以格式化输出 insert overwrite ...
- makefile--统一目标输出目录 (六)
原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 上一节我们把规则单独提取出来,方便了Makefile的维护,每个模块只需要给出关于自己的一些变量 ...
- java文件操作(输出目录、查看磁盘符)
问题描述: java操作文件,所有硬盘中所有文件路径 问题解决: (1)查看所有磁盘文件 注: 如上所示,使用接口 File.listRoots()可以返回所有磁盘文件,通过f ...
- php遍历目录输出目录及其下的所有图片文件
在做网站的时候,需要给文章内所有的图片添加上logo,如何利用ThinkPHP来实现. ThinkPHP为我们很好的提供了图像处理类,给文章中的所有图片加上水印的思路,上传的图片文件都保存在一个文件夹 ...
- ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录
前言 在.NET Core之前对于压缩样式文件和脚本我们可能需要借助第三方工具来进行压缩,但在ASP.NET MVC Core中则无需借助第三方工具来完成,本节我们来看看ASP.NET Core MV ...
- webstorm配置编译sass的输出目录
关于这个的问题,虽说不是很难,但还是踩了点小坑,下面就来介绍下如何使用webstorm配置编译sass的输出目录. 1.下载Ruby 2.使用Ruby安装sass 3.检测是否安装成功. 前面的几步很 ...
- VS生成项目时,有些文件无法复制到输出目录的解决办法
有时候,我们在生成项目时,发现有些文件如:.jpg的图片文件,无法复制到输出目录中,此时会非常纠结,反复的清理项目,重新生成,依旧不能解决此问题.后来我打开.csproj的项目工程文件时,经过对比发现 ...
随机推荐
- CentOS下部署巡风步骤详解
本博客已经迁移到新的网站,www.je2se.com,请大家移步关注,互相交流,共同成长 巡风Centos 6.5部署指南 基础环境要求: Python2.7+ 安装Centos相关依赖 # Cent ...
- Volley简单学习使用五—— 源代码分析三
一.Volley工作流程图: 二.Network 在NetworkDispatcher中须要处理的网络请求.由以下进行处理: NetworkResponse networkResponse = ...
- SWTBOK測试实践系列(1) -- 測试在项眼下期的评审投入划算吗?
測试策略:静态測试还是动态測试? [对话场景] 成功公布某个软件版本号之后,项目团队召开了项目的经验教训总结大会.在会议期间,项目经理小项和測试经理小測进行了例如以下的对话: 小项:"小測, ...
- 关于集合类set
list中允许有重复的元素,而set中不允许有重复的元素. package cn.hncu.Test; import java.util.HashMap; import java.util.Map; ...
- js---11运算符,流程控制,真假
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- POJ 2459 模拟
题意: 思路: 按照题意模拟即可 //By SiriusRen #include <cstdio> using namespace std; int c,f1,f2,d,xx,yy,vis ...
- 分享一段css代码学到的js知识
[].forEach.call($$('*'),function(val){ val.style.outline = '1px solid #'+(~~(Math.random()*(1<< ...
- lastb---显示用户错误的登录列表
lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常.单独执行lastb命令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显 ...
- Python day3 知识总结
if salary.isdigit(): salary = int(salary)判断输入的salary是否是一个整数是否成立 for index,item in enumerate(product_ ...
- java 参数
-Xmx:size java最大堆内存 -Xms:size 初始化内存 -Xmn:size 年轻带堆大小 -XX:NewSize=size 年轻带的大小 -XX:NewRatio=ratio 年轻带和 ...