ifstream file("dateiname.*"); * = "wie?"



  • Hallo

    versuche mit ifstream mit * zu arbeiten get aber nicht
    wenn ich ifstream file("dateiname."); oder ifstream file(".dateiname"); mache sucht der eine datei, die * im namen hatt und nicht alle datei die so heisen.



  • * ist ein reserviertes Zeichen, welches in Dateinamen nicht vorkommen sollte.
    ifstream versucht EINE Datei zu öffnen, und wenn die nicht existiert, dann
    gibts halt nen Fehler/Exception.
    Wenn du verzeichnisse ausgeben willst in Standard C++, versuchs mal mit
    boost::filesystem oder Humes DirStream.



  • Wie stellst du dir das vor? Ein stream soll also gleich mehrere Dateien öffnen, und der stream verteilt dann deine lese und Schreibzugriffe gerecht auf die geöffneten dateien?.
    So gehts nicht. Eine Datei nach der anderen.
    Kurt



  • localhost beschreibe mal genauer was du vorhast



  • Wenn ich mich nicht irre, kann das gar nicht gehen, da C++ nicht von Hause aus mit wildcards arbeiten kann.
    Sollte ich mich irren, bitte ich um Korrektur.

    Gruß Mea



  • Hat mit Wildcards nichts zutun. Denn der Filestream öffnet eine bestimmte Datei, Punkt. Wie von phlox81 gesagt, muß man Dateisystem-Funktionen benutzen, wenn man den Inhalt eines Directories mit Wildcards ausgeben will. Vorzugsweise boost::filesystem.


Anmelden zum Antworten