SD leseing til array

Dependencies:   SDFileSystem mbed

Fork of SDFileSystem_HelloWorld by mbed official

main.cpp

Committer:
mathimat
Date:
2017-04-18
Revision:
2:57156358b223
Parent:
1:d84eab100439
Child:
3:5a08f9ecfb16

File content as of revision 2:57156358b223:

#include "mbed.h"
#include "SDFileSystem.h"

SDFileSystem sd(p5, p6, p7, p20, "sd"); // the pinout on the mbed Cool Components workshop board

char filer[64][64];
int numberOfFiles = 0;


void sdToArray(char directory[64]="/sd", char type[5] = ".wav")
{
    DIR *d;
    struct dirent *dir;
    d = opendir(directory);
    char buffer[64];
    if (d) {
        while ((dir = readdir(d)) != NULL) {
            //leser alle filnavn fra sd kort og leger de i en buffer
            sprintf(buffer, "%s", dir->d_name);
            //sjekker at filen ikke starter med [ . ] og slutter med valgt type (wav).
            //legger så disse i filer arrayet.
            if (!strcmp(strrchr(buffer, '\0') - 4, type)) {
                if (strncmp(buffer, ".",1)) {
                    strcpy(filer[numberOfFiles], buffer);
                    numberOfFiles++;
                }
            }
        }

        closedir(d);
    }
}

int main()
{
    sdToArray();
    printf("WAV filer:\r\n");
    for(int i =0; i < numberOfFiles;i++) {
        printf("%d | %s \r\n",i,filer[i]);
    }
    return(0);


}