BobKiller007 Geschrieben 21. Februar 2010 Teilen Geschrieben 21. Februar 2010 Hallo Community, ich habe mir ein kleines Rechenprogramm geschrieben, wo der benutzer die Einheit eingeben kann. Nun möchte ich, dass hinter dieser Einheit auch entweder ² oder ³ steht, doch leider kriege ich das nicht hin. Kann mir jemand bitte erklären, wie ich das mit cout ausgeben kann? Ich dachte zuerst an: cout<< Einheit << "x\B2"; bzw. x\B3, aber das funktioniert irgendwie nicht. Gibt es da noch eine andere Möglichkeit? Vielen Dank im voraus! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 21. Februar 2010 Teilen Geschrieben 21. Februar 2010 Das sollte komplett ohne irgendwelche Escapesequenzen-Verrenkungen funktionieren, wenn dein Quelltexteditor und deine Konsole dieselbe Zeichencodierung benutzen. Das ist unter Windows aber leider der Ausnahmefall. Erstens musst du natürlich die richtige Codierung wählen: Deine Konsole benutzt vermutlich Codepage 850, du hast aber die Codes für Windows-1252/ISO 8859-1 benutzt. In Codepage 850 steht FD für ² und FC für ³. Zweitens musst du Hex-Zeichensequenzen mit \x einleiten, ein einfacher Backslash reicht nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BobKiller007 Geschrieben 21. Februar 2010 Autor Teilen Geschrieben 21. Februar 2010 Danke für die Hilfe ****kopp! Oh, ich habe jetzt erst bemerkt, dass ich x\ geschrieben habe, ich habe mich vertippt meinte meint, wie du bereits erwähnt hast, \x. Gibt es da eine Seite/Tabelle wo man solche Dinge nachschlagen kann? Kann man die Codierung verwändern, wenn ja, wie unter Microsoft Visual C++ 2008 Express Edition? Nochmals Danke... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 21. Februar 2010 Teilen Geschrieben 21. Februar 2010 Kann man die Codierung verwändern, wenn ja, wie unter Microsoft Visual C++ 2008 Express Edition?Es gibt zwei Codierungen, die du hier beachten musst. Dein Quellcode benutzt eine Codierung, die von deinem Editor abhängt. Die Konsole, in der du dein Programm ausführst, benutzt auch eine Codierung. Wenn die beiden nicht gleich sind, musst du solche Escapesequenzen-Tricks machen. Du kannst entweder deinen Editor dazu bringen, die Codierung deiner Konsole zu benutzen (was je nach Editor vielleicht gar nicht geht), oder du änderst die Codierung der Konsole auf die deines Editors. Wenn man von MS Visual C++ und der Windows-Konsole ausgeht, ist dein Quellcode in Windows-1252 codiert. Mit Hilfe der Funktion SetConsoleOutputCP kannst du die Konsolenausgabe auf dieselbe Codierung setzen: SetConsoleOutputCP(1252); Damit kannst du deine Sonderzeichen direkt in den Code schreiben. Das ist natürlich Windows-spezifisch und nicht portabel. Unter Linux beispielsweise hast du aber dieses Problem gar nicht, da dort praktisch überall UTF-8 benutzt wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BobKiller007 Geschrieben 21. Februar 2010 Autor Teilen Geschrieben 21. Februar 2010 Achso, jetzt wird mir einiges deutlicher. Dankeschön für die leichtverständliche Erläuterung! Nach dem Kompilieren zeigt er mir folgende Meldung: error C3861: "SetConsoleOutputCP": Bezeichner wurde nicht gefunden. Wenn ich jetzt die Codierung der Konsole, der Codierung meines Editors anpassen, würde, würde die Anwendung dann auch ohne weiteres auf allen Betriebssystem laufen (Win XP/Vista/Seven etc)? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 21. Februar 2010 Teilen Geschrieben 21. Februar 2010 Nach dem Kompilieren zeigt er mir folgende Meldung: error C3861: "SetConsoleOutputCP": Bezeichner wurde nicht gefunden.Da hilft die MSDN Library: SetConsoleOutputCP Function (Windows) include Windows.h Wenn ich jetzt die Codierung der Konsole, der Codierung meines Editors anpassen, würde, würde die Anwendung dann auch ohne weiteres auf allen Betriebssystem laufen (Win XP/Vista/Seven etc)? Auch hier hilft die MSDN Library: Minimum supported client Windows 2000 Professional Minimum supported server Windows 2000 Server Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BobKiller007 Geschrieben 21. Februar 2010 Autor Teilen Geschrieben 21. Februar 2010 Okay, Danke. Damit hätten sich meine Fragen geklärt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.