Forum: Mikrocontroller und Digitale Elektronik Dateien suchen mit FatFS


von Frank F. (Firma: RM Michaelides) (frankrm)


Lesenswert?

Hallo,

ich benutze FatFS von Chan auf einer SD-Karte. Ich möchte nun nach 
Dateien suchen, indem ich Wildcards benutze (z.B. *.log , *log.txt , 
log.* o.ä. '?' als Wildcard wird nicht benötigt).
FatFS scheint dies nicht von Haus aus zu unterstützen aber vielleicht 
kennt jemand ein Projekt, bei dem das schon mal umgesetzt wurde.
Für meine Zwecke würde es reichen, wenn einfach die erste Datei die 
gefunden wird zurückgegeben wird (als Dateiname), da es in meinem Fall 
nur darum geht eine Datei mit einer definierten Endung zu öffnen, 
benötigt wird also nur '*.end', ohne zu wissen wie die Datei heißt. 
Mehrere Dateien mit dieser Endungen werden nicht unterstützt, in diesem 
Fall wird "random" eine geöffnet.

Kennt jemand dafür ein entschprechendes Beispiel?
Vielen Dank im Voraus

von Peter II (Gast)


Lesenswert?

Frank Freihube schrieb:
> Kennt jemand dafür ein entschprechendes Beispiel?

wo ist genau das Problem?

http://elm-chan.org/fsw/ff/en/readdir.html

einfach in die schleife fname auf die letzten 4 zeichen vergleichen.

1
if ( strlen(fname) > 4 ) && strcmp( fname[ strlen(fname-4), ".end" ) == 0 ) {
2
  mache was
3
}

von Frank F. (Firma: RM Michaelides) (frankrm)


Lesenswert?

Peter II schrieb:
> wo ist genau das Problem?
>
> http://elm-chan.org/fsw/ff/en/readdir.html
>
> einfach in die schleife fname auf die letzten 4 zeichen vergleichen.
>
>
>
1
> if ( strlen(fname) > 4 ) && strcmp( fname[ strlen(fname-4), ".end" ) == 
2
> 0 ) {
3
>   mache was
4
> }
5
>

Das war mein Plan B, wollte nur fragen für den Fall, dass evtl. schon 
mal jemand eine "potentere" Lösung implementiert hat, falls ich später 
doch mal mehr brauche, als nur Suche nach Endung ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.