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.
-
Hier gibt es war zu Unicode/Multibyte:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-161855-and-highlight-is-multibyte.htmlUnd noch was zu strings:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-155739.html