Zum Inhalt springen

² und ³ in C++ ausgeben lassen


BobKiller007

Empfohlene Beiträge

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...