初级会员

- 积分
- 79
- 金钱
- 79
- 注册时间
- 2022-4-8
- 在线时间
- 82 小时
|
7金钱
我的Test文件夹有以下文件(scan_files函数本应输出的):
Test/testWrite.txt
Test/TestRead.TXT
Test/TestNewFolder1/testDir1.TXT
Test/TestNewFolder1/testDir2.TXT
但是scan_files函数输出的是:
Test/TESTWR~1.TXT
Test/TESTREAD.TXT
Test/TESTNE~1/TESTDIR1.TXT
Test/TESTNE~1/TESTDIR2.TXT
以下是我的代码:
- //获取文件夹下的文件,path=文件路径
- FRESULT scan_files (char* path)
- {
- FRESULT res;
- DIR dir;
- UINT i;
- static FILINFO fno;
- res = f_opendir(&dir, path); /* 打开目录 */
- if (res == FR_OK) {
- for (;;) {
- res = f_readdir(&dir, &fno); /* 读取目录项 */
- if (res != FR_OK || fno.fname[0] == 0) break; /* 出错或目录结束时中断 */
- if (fno.fattrib & AM_DIR) { /* 这是一个目录 */
- i = strlen(path);
- sprintf(&path[i], "/%s", fno.fname);
- res = scan_files(path); /* 输入目录 */
- if (res != FR_OK) break;
- path[i] = 0;
- } else { /* 这是一个文件。 */
- printf("%s/%s\r\n", path, fno.fname);
- }
- }
- f_closedir(&dir);
- }
- return res;
- }
- int main()
- {
- f_mount(fs[0],"0:",1); //挂载SD卡
- scan_files("/Test");
-
- /* 我的Test文件夹有以下文件(scan_files函数本应输出的):
- Test/testWrite.txt
- Test/TestRead.TXT
- Test/TestNewFolder1/testDir1.TXT
- Test/TestNewFolder1/testDir2.TXT
- 但是scan_files函数输出的是:
- Test/TESTWR~1.TXT
- Test/TESTREAD.TXT
- Test/TESTNE~1/TESTDIR1.TXT
- Test/TESTNE~1/TESTDIR2.TXT
- */
- }
复制代码
|
|