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

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

11

10.03.2008, 18:53

Die Antwort steht doch schon groß und breit da: FindFirstFile und FindNextFile

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   ...
   hFind = FindFirstFile("C://Windows", &ffd);

   if (INVALID_HANDLE_VALUE == hFind) 
   {
      dwError = GetLastError();

      _tprintf (TEXT("FindFirstFile failed (%u)\n"), dwError);
      return dwError;
   } 
   else 
   {
      _tprintf (TEXT("First file: %s\n"), ffd.cFileName);
   
      // List all the other files in the directory.

      while (FindNextFile(hFind, &ffd) != 0) 
      {
         _tprintf (TEXT(" Next file: %s\n"), ffd.cFileName);
      }
   ...


Vollständiges Beispiel

gepostet von David_pb. FindFirstFile findet die erste Datei, welche natürlich auch ein Ordner sein kann. Wenn es ein Ordner ist, dann wird die Strukur

Quellcode

1
ffd
demzufolge ausgefüllt (siehe Beschreibung FindFirstFile). FindNextFile macht das übrige mit den nächsten Dateien und Verzeichnissen in einem Ordner.

Siehe FAQ

Bitte etwas mehr Engagement Leute...

12

10.03.2008, 21:23

Hat aber eigtl. nichts mit Standard C++ zu tun. Boost.org hat ja in soweit noch etwas mit Standard C++ zu tun, als das teile der Boost Lib im aktuellen Standard eingesetzt werden.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

13

10.03.2008, 23:06

Zitat von »"Deviloper"«

Hat aber eigtl. nichts mit Standard C++ zu tun. Boost.org hat ja in soweit noch etwas mit Standard C++ zu tun, als das teile der Boost Lib im aktuellen Standard eingesetzt werden.


Aber nicht der vorgeschlagene Teil. Außerdem wurde nicht nach Standard C++ Mitteln gefragt.
@D13_Dreinig

14

10.03.2008, 23:13

Von den Meisten anderen kannst du aber davon ausgehen, dass sie Windows spezifisch sind.

Und es wird auf jedenfall auch ein Verzeichnis-Teil in den neuen Standard einziehen ... aber das ist sicherlich einer der uninteressanteren teile des neuen Standards ... das auto keyword und decltype usw. sind da schon wesentlich geiler im bereich template-programmierung :)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

15

10.03.2008, 23:16

Devil du hast schon recht, aber so eine Frage kommt ja wohl eher von einem Anfänger, als jemand der Template Programmierung beherrscht, du hast aber recht, C++ Mittel sind schon angebrachter, da unabhängiger. Aber ich glaube der Threadersteller wird damit auch glücklich ;o)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

16

11.03.2008, 09:31

Zitat von »"Deviloper"«

Von den Meisten anderen kannst du aber davon ausgehen, dass sie Windows spezifisch sind.

Und es wird auf jedenfall auch ein Verzeichnis-Teil in den neuen Standard einziehen ... aber das ist sicherlich einer der uninteressanteren teile des neuen Standards ... das auto keyword und decltype usw. sind da schon wesentlich geiler im bereich template-programmierung :)


Wenn sein Program ohnehin nur unter Windows laufen soll dann sind Windowsspezifische Lösungen doch kein Problem. Manchmal sind sie sogar besser. Zum Beispiel kann man mit der (windows spezifischen) Funktionalität für Memorymanagement der WinAPI einen wesentlich schnelleren Allokator schreiben als wenn man auf C oder gar C++ Mittel setzt.
Was ich damit sagen will, spezielle Lösungen sind durchaus z.T. vorzuziehen.

Und die Neuerungen im neuen C++ Standard kenn ich, ich weiß aber nicht warum du das hier erwähnst! :)
@D13_Dreinig

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

17

11.03.2008, 11:22

die winapi-Lösung über FIndFirstFile ist sicher einfacher.

Die Boost-Lösung ist konform zu POSIX-Dateisysteme, sprich die kommt mit den meisten Dateisysteme die es im Moment gibt klar.

@Lösungen: Ich finde auf so ne Frage erwartet man verschiedene Lösungen. Welche er benutzt muss der Fragesteller dann entscheiden.
Je spezifierter diue Fragestellung, desto spezifischer die Antwort...


@Socke: Ich vermute mal er möchte sowas wie Ordnerbrowsing umsetzen will..wobei wenn eh nur Windows ist könnte man ja direkt die von Windows verwenden...

Werbeanzeige