Klasse für Dateierstellung < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:45 So 13.01.2013 | Autor: | pina7 |
Aufgabe | selbstausgedachte Aufgabe:
Ich möchte eine Klasse zum erstellen von Dateien haben. In der Klassenmethode wird definiert, dass eine Datei auf der Festplatte erstellt wird und ein Text in diese geschrieben wird. |
Hallo Könnt ihr mir bitte sagen, was bei meinem Code falsch ist da es noch nicht funktioniert? Vielen Dank!
1: |
| 2: | class erstelleDatei
| 3: | {
| 4: | public:
| 5: | fstream file;
| 6: | void erstelleDAT();
| 7: | };
| 8: |
| 9: | #include "stdafx.h"
| 10: | #include <iostream>
| 11: | #include "erstelleDatei.h"
| 12: | #include <fstream>
| 13: |
| 14: | using namespace std;
| 15: |
| 16: | void erstelleDatei::erstelleDAT()
| 17: | {
| 18: | file.open("MyDAT.txt",ios::out);
| 19: |
| 20: | file << "Datei erfolgreich erstellt und mit diesem Text gefüllt" << endl;
| 21: |
| 22: | file.close();
| 23: |
| 24: | return;
| 25: | }
| 26: |
| 27: | int _tmain(int argc, _TCHAR* argv[])
| 28: | {
| 29: | cout << "Dateierstellung" << endl;
| 30: |
| 31: | erstelleDatei MyDAT;
| 32: |
| 33: | MyDAT.erstelleDAT();
| 34: |
| 35: | system("pause");
| 36: | return 0;
| 37: | }
|
|
|
|
|
Hallo pina7,
> selbstausgedachte Aufgabe:
> Ich möchte eine Klasse zum erstellen von Dateien haben.
> In der Klassenmethode wird definiert, dass eine Datei auf
> der Festplatte erstellt wird und ein Text in diese
> geschrieben wird.
> Hallo Könnt ihr mir bitte sagen, was bei meinem Code
> falsch ist da es noch nicht funktioniert? Vielen Dank!
>
So wie es aussieht, fehlen in der Header-Datei
die include-Dateien und die Angabe des namespace;
> 1: |
| 2: | > class erstelleDatei
| 3: | > {
| 4: | > public:
| 5: | > fstream file;
| 6: | > void erstelleDAT();
| 7: | > };
| 8: | >
| 9: | > #include "stdafx.h"
| 10: | > #include <iostream>
| 11: | > #include "erstelleDatei.h"
| 12: | > #include <fstream>
| 13: | >
| 14: | > using namespace std;
| 15: | >
| 16: | > void erstelleDatei::erstelleDAT()
| 17: | > {
| 18: | > file.open("MyDAT.txt",ios::out);
| 19: | >
| 20: | > file << "Datei erfolgreich erstellt und mit diesem Text
| 21: | > gefüllt" << endl;
| 22: | >
| 23: | > file.close();
| 24: | >
| 25: | > return;
| 26: | > }
| 27: | >
| 28: | > int _tmain(int argc, _TCHAR* argv[])
| 29: | > {
| 30: | > cout << "Dateierstellung" << endl;
| 31: | >
| 32: | > erstelleDatei MyDAT;
| 33: | >
| 34: | > MyDAT.erstelleDAT();
| 35: | >
| 36: | > system("pause");
| 37: | > return 0;
| 38: | > }
| 39: | > |
Gruss
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:27 So 13.01.2013 | Autor: | pina7 |
Wow, super vielen Dank.
Kannst du mir dann noch bitte den Zusammenhang erklären, warum ich in diesem Fall die ganzen includes auch in der .h einbinden muss?
bisher hatte ich in .h nur "stdafx.h" und nach Bedarf "math.h" eingebunden.
Warum ich nun auch alle anderen in der .h einbinden muss, ist mir nicht klar. Danke dir und viele Grüße!
|
|
|
|
|
Hallo pina7,
> Wow, super vielen Dank.
> Kannst du mir dann noch bitte den Zusammenhang erklären,
> warum ich in diesem Fall die ganzen includes auch in der .h
> einbinden muss?
Es sind nur die includes in der .h einzubinden,
die auch dort gebraucht werden.
Hier also nur #include <fstream>.
> bisher hatte ich in .h nur "stdafx.h" und nach Bedarf
> "math.h" eingebunden.
> Warum ich nun auch alle anderen in der .h einbinden muss,
> ist mir nicht klar. Danke dir und viele Grüße!
Wenn Du in der h-Datei alle benötigten includes einbindest,
dann kannst Du in der cpp-Datei z.B schreiben: #include "erstelleDatei.h".
Gruss
MathePower
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:31 So 13.01.2013 | Autor: | pina7 |
Das hat mir sehr geholfen, vielen Dank.
|
|
|
|