quelle.open



  • Hi Leutz,

    hab ma ne Frage (scho wieder :D):

    wenn ich eine Quelldatei öffne (spielt jetzt nicht so die Rolle welche Datei) mit

    quelle.open("Datei.irgendwas")
    

    und ich nicht C:/.../Datei.irgendwas angebe. Welche Datei wird dann geöffnet bzw. wo sucht das Programm die Datei dann?
    Wird dann der Ordner durchsucht indem sich mein Programm befindet?

    Beipiel:

    Programm in C:/keineAhnung/C++
    sucht das Programm dann die Datei (mit dem Befehl oben) in C:/keineAhnung/C++ oder woanders?

    thy für Antworten



  • Es wird im Arbeitsverzeichnis gesucht, für gewöhnlich in dem Verzeichnis, aus dem die ausführbare Datei gestartet wird. Das ist aber nur der gängige Fall unter den bekannten Betriebssystemen (z.B. MS-Windows). Letztendlich ist es natürlich vom Filesystem oder Betriebssystem abhängig, wie das Verhalten ist.



  • Aso thx
    ich hab Windos XP home da dürfte das ja klappen.

    Gibts ne andere Möglichkeit im entsprechenden Ordner zu suchen? (außer ihn mit C:/.../Datei anzugeben?)

    sowas wie "suche in dem Ordner in der das Programm ist"? (ich weiß mittlerweile, dass es "Ordner" bei C++ nicht gibt, aber ich denke ihr versteht die Frage)



  • Das ist schon möglich. C++ Standard-Library kennt nur keine Verzeichnisse, es kennt nur Dateistreams. Entweder du benutzt direkt WinAPI-Funktionen, oder du lädst dir die Boost-Libraries runter. Die stellen schöne C++-Filesystem-Funktionen und -Klassen bereit. Aber auch noch mehr.

    http://www.boost.org

    Ist eine sehr große Sammlung von C++-Bibliotheken. Darunter ist diese hier:
    http://www.boost.org/libs/filesystem/doc/index.htm

    Welchen Compiler hast du? Wenn du Windows hast und VisualC++ (ab Version 2003), zieh dir den Boost-Installer runter:
    http://www.boost-consulting.com/download.html


Anmelden zum Antworten