Sonderzeichen in Datein



  • Hallo

    Vorab ich bin noch recht neu in C++ und habe zu meinen Problem bei Google nichts gefunden.

    Also ich beschäftige mich seit ein paar Monaten mit C++ und wollte mal so eine Art Texteditor schreiben. Mein Programm läuft auch, aber er schreibt einfach keine Zeichen wie Ö Ä Ü und Allgemein Sonderzeichen nicht richtig bzw. garnicht..
    Ich hoffe ihr könnt mir da ein wenig weiterhelfen.

    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    char filename[20];
    int g;
    char text[];
    string test;
    
    int main()
    {
          cout<<"Bitte geben sie den namen fuer die datei ein: "<<endl;
          cin.get (filename,20);
    	  cin.sync();
    	  cout<<"Bitte geben sie den text für die Text datei ein"<<endl;
    	  getline (cin ,test);
    	  strcat(filename, ".txt");
    	  ofstream outfile (filename);
    	  g=strlen(test.c_str());
    	  outfile.write(test.c_str(),g);
          cout<<"Datei wurde erfolgreich erstellt"<<endl;
    	  system("pause");
    	  return 0;
    }
    


  • Wahrscheinlich werden unterschiedliche Zeichensätze verwendet. Schau dir doch mal die ASCII-Codes der eingegebenen Zeichen (Umlaute und Sonderzeichen) an. Du kannst diese dann manuell ersetzen, sodass es nachher in der Datei stimmt.

    Am besten schreibst du dir zwei Funktionen, die jeweils einen std::string vom einen in den anderen Zeichensatz umformatieren.




Anmelden zum Antworten