Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

² und ³ in C++ ausgeben lassen

Empfohlene Antworten

Veröffentlicht

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!

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.

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

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.

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

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

Okay, Danke.

Damit hätten sich meine Fragen geklärt.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.