Aktuelle Zeit: 22.12.2024, 10:20

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 27.06.2007, 10:03 
Offline

Registriert: 20.03.2007, 20:33
Beiträge: 19
Wohnort: Ahaus
Hallo,

ich würde gerna mal die schnellste(!) und effektivste Möglichkeit erfahern, wie man überprüft, ob eine Datei existiert oder nicht.

Bisher habe ich es folgendermaßen gemacht:

Code:
bool check_file(string filename)
{
   FILE* datei;
   datei = fopen(filename.c_str(), "r");
   if(NULL == datei)
   {
      return false;
   }
   else
   {
      fclose(datei);
      return true;
   }
}


Jetzt wollte ich fragen, ob es noch elegantere Möglichkeiten dazu gibt, oder vielleicht sogar schnellere?

Vielen Dank schonmal

IRRe


Nach oben
 Profil  
 
BeitragVerfasst: 27.06.2007, 13:13 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Vllt könnte stat() o.ä. schneller sein, da die Datei ja nicht geöffnet wird:
http://wwwwbs.cs.tu-berlin.de/user-taip ... butes.html

Aber ich denke, der Rechenaufwand von fopen hält sich so in Grenzen, dass das für 99.9% aller Aufgaben reicht.

Wenn du eine große Anzahl Dateien in einem Ordner überprüfst, kannst du ja per readdir das ganze Verzeichnis einlesen, wenn es dann nach Name sortiert ist, kannst du sehr schnell feststellen, ob einzelne Namen vorhanden sind.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de