Anfängerfrage: Variable nicht gefunden?



  • Ich habe folgendes Programm aus einem der Tutorials:

    #include <iostream>
    #include <fstream>
    #include <process.h>
    #include <ostream>
    #include <istream>
    
    using namespace std;
    
    int main()
    {
    ifstream EingDatei;
    ofstream AusgDatei;
    ofstream Drucker;
    char Dateiname[20];
    
       cout << "Geben Sie die zu kopierende Datei ein ----> ";
    
       cin >> Dateiname;
    
       EingDatei.open(Dateiname, ios::nocreate);
       if (!EingDatei)
       {
          cout << "Die Eingabedatei kann nicht geoeffnet werden.\n";
          exit(1);
       }
    
       AusgDatei.open("Kopie");
       if (!AusgDatei)
       {
          cout << "Die Ausgabedatei kann nicht geoeffnet werden.\n";
          exit(1);
       }
    
       Drucker.open("PRN");
       if (!Drucker)
       {
          cout << "Es gibt ein Problem mit dem Drucker.\n";
          exit(1);
       }
    
       cout << "Alle drei Dateien wurden geoeffnet.\n";
    
    char EinBuchstabe;
    
       Drucker << "Das ist der Anfang der gedruckten Kopie.\n\n";
    
       while (EingDatei.get(EinBuchstabe))
       {
          AusgDatei.put(EinBuchstabe);
          Drucker.put(EinBuchstabe);
       }
    
       Drucker << "\n\nDas ist das Ende der gedruckten Kopie.\n";
    
       EingDatei.close();
       AusgDatei.close();
       Drucker.close();
    
       return 0;
    }
    

    Wenn ich das Programm compilieren will erscheint folgende Fehlermeldung:

    line 24, "nocreate", "is not a member of 'std::basic_ios<_Elem,_Traits>'
    Line 24 ist die folgende:

    EingDatei.open(Dateiname, ios::nocreate);

    Das er die Variable nicht finden kann ist klar. Aber wie sorge ich dafür das die Variable gefunden wird?
    Ich dachte mit
    using namespace std;
    müsste er die finden.
    Ich habe das "MS Visual C++ Toolkit 2003".



  • Lass das ios::nocreate weg. Wenn die Datei nicht existiert, wird sie (AFAIK) so oder so nicht erstellt, wenn du sie mit einem ifstream einliest.



  • Danke. Das hat geklappt. Manche Lösungen sind o einfach 🙂

    Mich würde aber dennoch interessieren wie ich diese Variable einbinde.
    Des besseren Verstänisses wegen und falls ich nocheinmal so einen Fall habe, wo ich die variable nicht einfach weglassen kann



  • ios::nocreate gibt aber. 😞



  • Und wozu ist es gut?


Log in to reply