In datei werden nur komische Zeichen gespeichert



  • Hallo Ich habe mal wieder ein Problem und zwar muss ich eine Art Texteditor machen. Also ich schreibe mehrere Zeichen und kann mit der ENTER aste auch untereinander schreiben das soll der dann in eine Textdatei Speichern nur leider klappt das nicht ich binn jetzt soweit das er beim Programmstarten nicht mit einer Fehlermeldung abbricht und in den Debug Modus geht. Leider schreibt er nun nur ein haufen Zeichen in die Datei aber nicht das was er soll. Kann mir da eventuell einer weiter helfen??
    Achso das der bei der Eingabe des Zeichen 'a' rausgeht is nur zu Testzwecken steht eigentlich irgenwo drinnen wie sich die Tasten 'STRG', 'ESC' Definieren??
    Also das ich z.B. mit der Taste 'STRG' Die eingabe beenden kann?

    void main()

    {
    char text[24][80];
    int i;

    while(cin.get()!='a')
    {
    cin.getline(text[i],80);
    i++;

    }

    ofstream ofl("ausgabe.txt");
    ofl << text[i];
    cout << text[i];

    }

    Mfg Fox



  • O.K Hat sich erledigt habe selbst eine Möglichkeit gefunden

    Mfg Fox



  • erstens muss es int main() heissen und zweitens wozu die char arrays wenn es ne stl string klasse gibt?

    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    
    int main(void)
    {
        string text;
        ofstream output;
        int zeile = 0;
    
        do {
            cout << zeile++ << ": ";
            getline(cin,text);
            output.open("test.txt",ios::app);
            output << text << endl;
            output.close();
        }
        while (text != "a");
    }
    


  • Sorry aber ich wusste nicht das ich auch diese Klasse benutzen kann denn ich mache das noch nicht sehr lange Aber trozdem danke aber warum kann man den nicht void main() nehmen das funzt doch auch hier so habe ich des gemacht

    #include<iostream>
    #include<fstream>
    using namespace std;

    void main()

    {
    char text[80];
    char buf[80];
    ofstream ofl("ausgabe.txt");

    while(cin.getline(text,80) && text[0]!='a')
    {

    ofl << text << endl;

    }
    }

    Mfg Fox



  • am besten liest du das hier durch, dann erfährst auch du warum void main() falsch ist.



  • Dann machen die des Im DATABECKER Grundlagen Buch auch falsch!! Mhh



  • von databecker kann man auch nichts anderes erwarten - die sollten lieber zuerst ein vernüftiges c++ buch lesen und DANN eins schreiben...



  • Du meinst das Buch ist Sch****. Gut dann mache mal ein Vorschlag welches Buch sich lohnt damit ich mir mal ein vernünftiges kaufen gehen kann*g*



  • Komischerweise gibt es auf der Startseite der C/C++ Ecke einen Link, welcher Bücher heißt. 🙄 😉

    mfg tHe pHreak



  • Tatsache ein Riesen link!! Naja man muss halt nur mal gucken!!


Anmelden zum Antworten