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

51

27.01.2010, 13:59

So ich meld mich mal wieder , und zwar habe ich nun die ganzen Probleme lösen können mit euren Lösungen. ;)

Nur bleibt ein Problem bzw. kommt ein neues dazu , und zwar wird bei dem Schreiben der Datei teilweise nicht alles hineingeschrieben...

Die Eingabe funktioniert dank einer Schleife , und das <html> und </title> auch , wenn er jedoch wie im Programm vorgeschrieben <title> in die Datei schreiben soll , schreibt er davon nur das >...

Quelltext vom Header:

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
61
62
63
64
65
66
67
#include <iostream>
#include <fstream>
#include <windows.h>
#include <tchar.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:
    char m_Buffer[255];
    char m_Dateiname[31];


    //Memberfunktionen

public:
    CHTML_Helper(); //Konstruktor

    void WriteTitle(char m_Buffer[255]); //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(m_Buffer);
}

void CHTML_Helper::WriteTitle(char m_Buffer[255])
{
    ofstream fout(m_Dateiname, ios::app);
    fout.close();
    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>";
    for(int i = 0; i <= (sizeof(m_Buffer)/sizeof(m_Buffer[0])); i++)
    {
       fout << m_Buffer[i];
    }
    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;
}
    


Achja , was auch super hilfreich wäre , wäre wenn jmd. weiß wie ich es schaffen kann , dass er in der Datei Absätze macht...
Momentan sieht es nämlich so aus:

Quellcode

1
<html>>Homepagetitel</title>


und sehr nice wär das hier z.B.

Quellcode

1
2
3
4
5
<html>
<title>
Homepagetitel
</title>
...

52

27.01.2010, 14:24

\n ;-)
Lieber dumm fragen, als dumm bleiben!

53

27.01.2010, 14:29

Würde das dann z.B. so aussehen ?

C-/C++-Quelltext

1
fout << \n"</title>";

54

27.01.2010, 14:30

ne,

fout << "\n</title>";

55

27.01.2010, 14:31

Nee, so:

C-/C++-Quelltext

1
fout << "\n</title>\n";


Und warum verwendest du m_Buffer als Parameter, obwohl es eine Membervariable deiner Klasse ist?

56

27.01.2010, 14:33

Hawa,
ich hab mich an seinem Codebeispiel orientiert, wo er nur den absatz vor <title> wollte ;)

57

27.01.2010, 14:36

Nee, diesmal warst du schneller! ;)
Also nicht auf deinen Post bezogen.

58

27.01.2010, 14:36

Zitat

Nee, diesmal warst du schneller! Wink
Also nicht auf deinen Post bezogen.

Ach so ;)

59

27.01.2010, 14:42

Hmm , ich habe jetzt die \n eingefügt und die Parameterlisten leer gemacht , und jetzt gibt er mir für das <title> und für den eingegeben Titel irgendwelche Zeichen aus. ;(

Also das mit dem Absatz geht nun zum Glück (großes Danke!) , aber wenn der Code nicht lesbar ist , ist das natürlich nicht gut.^^
Diese Zeichen lassen sich nicht schreiben von mir...
Also den einzigen Code den er normal schreibt ist:

Quellcode

1
2
<html>
<head> und am ende </title>


Headerdatei:

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
61
62
63
64
65
66
67
68
#include <iostream>
#include <fstream>
#include <windows.h>
#include <tchar.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:
    char m_Buffer[255];
    char m_Dateiname[31];


    //Memberfunktionen

public:
    CHTML_Helper(); //Konstruktor

    void WriteTitle(); //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>\n";
    fout << "<head>";
    cout << "Datei wurde erstellt , und befindet sich im Installationsverzeichnis!" << endl;
    cout << "Sie werden nun zum Erstellungsvorgang des Titel-Bereichs weitergeleitet..." << endl;
    WriteTitle();
}

void CHTML_Helper::WriteTitle()
{
    ofstream fout(m_Dateiname, ios::app);
    fout.close();
    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 << "\n<title>";
    for(int i = 0; i <= (sizeof(m_Buffer)/sizeof(m_Buffer[0])); i++)
    {
       fout << m_Buffer[i];
    }
    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;
}
    

60

27.01.2010, 14:45

C-/C++-Quelltext

1
(sizeof(m_Buffer)/sizeof(m_Buffer[0]))

Die Zeile mutet komisch an ;)

Warum nicht einfach sizeof (m_buffer) / sizeof (char) ?

Werbeanzeige