Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Bu1

Frischling

  • »Bu1« ist der Autor dieses Themas

Beiträge: 66

Beruf: Schüler

  • Private Nachricht senden

1

05.10.2010, 21:19

C++ Datein in Ordner zählen

Hi!

Ich bin neu in C++ und würde gerne wissen wie man Datein zählen kann die in Ordnern sind!
Bsp.:
Ordner \Test enthält Datein verschiedener Formate(*.mp3, *.txt)

Das Programm sol die Datein vom Vormat *.txt zählen und speichern.
Danke schonmal für antworten! :)

Bu1

Zitat

Sämtliche Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt :!:
Sie können nach belieben kopiert und weiterverwändet werden. :P

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

05.10.2010, 21:30

Da brauchst externe Bibliotheken.
Du kannst das nativ z.B mit der WinAPI machen oder z.B boost::filesystem benutzen.

GUI Bibliotheken wie z.B Qt bringen dir üblicherweise ebenfalls solche Funktionalitäten mit.

3

05.10.2010, 21:34

Willkommen,

unter Windows könnte ich dir spontan mal FindFirstFile() und FindNextFile() empfehlen.
http://msdn.microsoft.com/en-us/library/aa364418(VS.85).aspx
http://msdn.microsoft.com/en-us/library/…8(v=VS.85).aspx

Die Verwendung sieht dann beispielsweise so aus:

C-/C++-Quelltext

1
2
3
4
5
// Gibt die Namen aller Dateien (und Ordner - auch Dateien) in C:/test aus. 
// Die erste Datei (.) wird nicht ausgegeben, die zweite (..) bräuchtest eig. auch nicht. 
WIN32_FIND_DATA fd; 
HANDLE h = FindFirstFile("C:/test/*", &fd); 
while(FindNextFile(h, &fd)) std::cout << fd.cFileName << std::endl;

4

06.10.2010, 00:12

Wenn ich mich recht erinnere sind bei FindNextFile() auch Directories inbegriffen.

Kannst du aber leicht mit so einer Abfrage abfangen:

C-/C++-Quelltext

1
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) { ... }

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

5

06.10.2010, 15:32

Ebenfalls Willkommen!

Mit FindFirstFile und FindNextFile habe ich auch schon gute Erfahrungen gemacht!
Erstmal kann man wie schon erwähnt ganz leicht einen Ordner und die Unterordner durchlaufen und bekommt außerdem noch Informationen über jede einzelne Datei, die in der WIN32_FIND_DATA Struktur übergeben werden. Darunter sind:
->Erstellungsdatum
->Letztes Öffnungsdatum
->Letzte Änderungszeit
->Größe (in Byte)
->(Wie schon erwähnt) Ob Ordner oder Datei

Hoffe das hilft! :D

Mfg Harry222

Bu1

Frischling

  • »Bu1« ist der Autor dieses Themas

Beiträge: 66

Beruf: Schüler

  • Private Nachricht senden

6

06.10.2010, 17:08

Danke

Hi!

Danke für die vielen Antworten! :) Werde ich gleich ausprobieren.



Bu1

Zitat

Sämtliche Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt :!:
Sie können nach belieben kopiert und weiterverwändet werden. :P

Werbeanzeige