www.mikrocontroller.net

Forum: PC-Programmierung [c] Gleiche Dateien in einem Verzeichnis öffnen


Autor: Christoph S. (mixer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Gibt es in C Bibliotheksfunktionen oder ähnliches damit ich alle Dateien 
mit gleicher Endung (z.B. *.jpg) öffnen kann??

MFG Mixer

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sollte man das wollen?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf POSIX-Systemen gibts ftw(), damit kann man einen Dateibaum 
ablatschen. Auf den Dateityp prüft man dann am einfachsten mit strcmp().

Alternativ gibts in POSIX auch glob(), damit kann man Dateimuster 
suchen.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus schrieb:
> Warum sollte man das wollen?

Er meint wohl alle nacheinander, nicht alle gleichzeitig. Z.B. für eine 
Batch-Verarbeitung.

Autor: Christoph S. (mixer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus schrieb:
> Warum sollte man das wollen?

Damit man z.B. die Metadaten von Bildern oder mp3-Stücken auslesen kann 
und man nicht unbedingt hunderte dateien einzeln eingeben will!

Das ganze sollte dann plattformunabhängig auf Linux sowie Windows 
arbeiten!

MFG Mixer

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du dich an POSIX hälst, läuft es eigentlich überall, also vom 
alten Unix-Großrechner bis hin zum WLAN-Router.
Nur halt Windows steht wieder quer.

Ich glaub, unter Windows gabs mal so ein FindFirstFile oder so grübel

scandir() gäbs übrigens auch noch.

Autor: Gerry E. (micky01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Regel leistet unter Linux die Shell schon die Vorarbeit:

> Tuwas *.jpx

wird expandiert zu

 Tuwas f1.jpx f1.jpx ... fn.jpx

Man braucht also nur die argv-Liste abrackern.

Wer sowas unter Windows braucht, dem sei MinGW empfohlen.

Autor: Christoph S. (mixer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte eigentlich die Dateien im Programm eingeben und nicht über 
die Kommandozeile übergeben.

Das heisst, dass
http://en.wikipedia.org/wiki/Dirent.h
auf Windows nicht funktioniert??

MFG Mixer

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mixer S. schrieb:
> Das heisst, dass
> http://en.wikipedia.org/wiki/Dirent.h
> auf Windows nicht funktioniert??

Das heist es nicht zwangsläufig.
Wenn deine Runtime-Library die entsprechenden Calls so aufbereitet, dass 
sie über die Windows API das Gewünschte besorgen, dann funktioniert das 
selbstverständlich auch.

Im Zweifel einfach ausprobieren und/oder die Doku zu diesen Calls auf 
deinem Compiler lesen.

Zur Not kann man ja auch einmal weitergoogeln
"Win32 dirent"
Und schon wird man fündig :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.