Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

31

26.01.2010, 17:26

Zeig mal den aktuellen Code

32

26.01.2010, 17:30

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <fstream>
#include <windows.h>

using namespace std; 

    void PasswortAbfrage(int Passwort, int menu_auswahl);
    void hauptmenu(int menu_auswahl);

enum Schriftfarbe
{
    SCHWARZ,
    ROT,
    GRUEN,
    BLAU,
    LILA,
};

class CHTML_Helper 
{
    //Membervariablen

private:
    const char* m_Buffer[255];
    char m_Dateiname[31];


    //Memberfunktionen

public:
    CHTML_Helper(); //Konstruktor

    void WriteTitle(const char* m_Buffer); //Farbloses <title>


    

};

CHTML_Helper::CHTML_Helper() //Konstruktor

{
    cout << "Bitte geben sie den gewuenschten Dateinamen (Mit .html-Endung) ein (Max. 30 Zeichen): " << endl;
    cin >> m_Dateiname;
    
    ofstream fout(m_Dateiname);
    fout << "<html>";
    cout << "Datei wurde erstellt , und befindet sich im Installationsverzeichnis!" << endl;
    cout << "Sie werden nun zum Erstellungsvorgang des Titel-Bereichs weitergeleitet..." << endl;
    WriteTitle(const char* m_Buffer);
}

void CHTML_Helper::WriteTitle(const char* m_Buffer)
{
    cout << "HTML-Titelfunktion erfolgreich geladen!" << endl;
    cout << "Bitte geben sie den Titel ein , den ihre Homepage haben soll: " << endl;
    cin >> m_Buffer;
    fout.open("m_Dateiname", ios::app);
    fout << "<title>";
    fout << m_Buffer;
    fout << "</title>";
    fout.close();
    cout << "Titel wurde erfolgreich hinzugefügt!" << endl;
    cout << "Sie werden nun automatisch zum Erstellungsvorgang für den \"Body\"-Code weitergeleitet!" << endl;
}

33

26.01.2010, 17:32

Du hast da was Elementar falsch verstanden ;)

const char* m_Buffer[255]; --> du erzeugst ein Array von Zeigern, statt EINEM Zeiger auf ein Array aus Chars

const char* m_Buffer; ---> so erzeugst du einen zeiger.

34

26.01.2010, 17:38

Wenn ich aber von const char* m_Buffer[255]; das [255] wegmache , sodass es kein Array mehr ist , bleiben die selben Fehlermeldungen. ;(

idontknow

unregistriert

35

26.01.2010, 17:41

Ich würde mal probieren ein Objekt vom Typ ofstream mit namen fout auch in der Methode WriteTitle zu deklarieren... habe ich aber vorhin schon gesagt -.-*

36

26.01.2010, 17:41

Trotzdem, ist das das was du willst, und damit gehen unsichtbare Fehler weg.

Zu deinem Fehler:
du deklarierst die Zeichenkette als const, und willst, dass man ihr was Zuweist ?

Zitat

cin >> m_Buffer;



Ausserdem würde ich sagen, probier mal, wenn du das const weglässt, ich glaub, dass macht dem Compiler Probleme.


Zitat


WriteTitle(const char* m_Buffer);


Was soll'n die Zeile in deinem Code ? Damit deklarierst du die Funktion nochmal !
Sollte doch eigentlich WriteTile (m_Buffer); heissen.

37

26.01.2010, 17:44

Ja , nur kommen ja nicht alle Fehlermeldungen von dort. ;) (Oder?)

Naja , ich probiere es jetzt mal , wünscht mir Glück! :)

38

26.01.2010, 17:50

Hmm ... Er kompiliert es jetzt zwar ohne Fehler , jedoch stürtzt das Programm dann ab , wenn er erneut in die Datei schreiben will!

Geht das so überhaupt , wie ich das gemacht habe ?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void CHTML_Helper::WriteTitle(char* m_Buffer)
{
    ofstream fout(m_Dateiname, ios::app);
    cout << "HTML-Titelfunktion erfolgreich geladen!" << endl;
    cout << "Bitte geben sie den Titel ein , den ihre Homepage haben soll: " << endl;
    cin >> m_Buffer;
    fout.open("m_Dateiname", ios::app);
    fout << "<title>";
    fout << m_Buffer;
    fout << "</title>";
    fout.close();
    cout << "Titel wurde erfolgreich hinzugefügt!" << endl;
    cout << "Sie werden nun automatisch zum Erstellungsvorgang für den \"Body\"-Code weitergeleitet!" << endl;
}

idontknow

unregistriert

39

26.01.2010, 17:54

Du öffnest die Datei 2mal sollte aber nicht daran liegen, Debuggen und Haltepunkte + Textausgaben solven..

40

26.01.2010, 17:57

Bist du dir sicher, dass m_Buffer einen Gültigen wert hat ?

Werbeanzeige