Хочу получить названия файлов в директории на SD карте. При указании корневой директории pDir = FS_OpenDir(""); - все нормально.
При указании любой другой pDir = FS_OpenDir("\\BS1"); - находит лишних 2 DirEntry. Файл лежащий там находит и называет правильно.
FS_DirEnt2Name(pDirEnt, acDirName) дает им имена: для первого "." и для второго ".."
Операционка - PowerPac. Все функции оттуда.
У кого-нибудь такое было?
Код
void MainTask(void)
{
FS_DIR *pDir;
FS_DIRENT *pDirEnt;
pDir = FS_OpenDir(""); /* Open the root directory of default device */
if (pDir)
{
do
{
char acDirName[20];
pDirEnt = FS_ReadDir(pDir);
FS_DirEnt2Name(pDirEnt, acDirName); /* Get name of the current DirEntry */
if ((void*)pDirEnt == NULL)
{
break; /* No more files or directories */
}
sprintf(_acBuffer," %s\n", acName);
FS_X_Log(_acBuffer);
} while (1);
FS_CloseDir(pDir);
}
else
{
FS_X_ErrorOut("Unable to open directory\n");
}
}
И еще. При просмотре карты на компе ничего лишнего не увидел. Скрытые файлы отображал. Ничего скрытого не было.