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?