Dateioperationen...
-
Hallo zusammen,
ich habe ein Problem, ich habe ein Quellcode abgetippt aber das Funktioniert überhaupt nicht.#include <iostream> #include <fstream> int main() { ofstream outfile; outfile.open("test.txt",ios::out); outfile << "Das ist ein Test!"<< endl; outfile.clode; return 0; }ich bekomme immmer diese Fehler:
ompiler: Default compiler Führt g++.exe... aus g++.exe "C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp" -o "C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp: In function `int main()': C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:6: error: `ofstream' undeclared (first use this function) C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:6: error: (Each undeclared identifier is reported only once for each function it appears in.) C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:6: error: expected `;' before "outfile" C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:8: error: `outfile' undeclared (first use this function) C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:8: error: `ios' has not been declared C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:8: error: `out' undeclared (first use this function) C:\Dokumente und Einstellungen\Christine\Desktop\Neuer Ordner\file.cpp:9: error: `endl' undeclared (first use this function) Ausführung beendetvielleicht kann mir jemand sagen warum das nicht klappt ?
GRuß Timb0
-
Hallo
Deshalb soll man auch nicht einfachen abtippen sondern mitdenken. Wenn du die Grundlagen von C++ kennen würdest würdest du auch wissen das alle angemeckerten Symbole im Namespace std liegen.
bis bald
akari
-
Füge als einfach folgende Zeile vor deiner main Funktion ein.
using namespace std;Ältere Compiler haben den Code auch ohne using namespace gefressen. Darum wurde es in den meisten älteren Büchern weggelassen.
-
Danke leute, ich dachte eigentlich ich hätte das mit dem Namespace schon ausprobiert, ausserdem ist es gestern beim Programmieren spät geworden ..
Aber danke , gurß TImb0
-
Hmm beim zerstören des Objektes std::fstream wird automatisch close aufgerufen. Weiterhin hat std::fstream einen Konstruktor um direkt die Datei zu öffnen.
Und zum Schluss gibt es noch eine operator void*. Wenn der NULL zurück gibt ist ein failbit odg. gesetzt oder die Datei konnte nicht geöffnet werden.#include <iostream> #include <fstream> int main() { std::ofstream outfile("test.txt"); if (!outfile) { std::cerr << "FEHLER: Datei konnte nicht geöffnet werden!" << std::endl; return -1; } outfile << "Das ist ein Test!"<< std::endl; }... und das ist doch schon viel besser!