Umlaute C++

Diskutiere Umlaute C++ im Developer Network Forum im Bereich Hardware & Software Forum; Wenn ich bei der Ausgabe von C++ ä,ö,ü benutze kommt immer etwas ganz anderes. Wei kann ich diese Umlaute darstellen? Dank im Vorraus MfG...
  • Umlaute C++ Beitrag #1
Funnelweb

Funnelweb

Bekanntes Mitglied
Dabei seit
21.02.2007
Beiträge
469
Reaktionspunkte
0
Wenn ich bei der Ausgabe von C++ ä,ö,ü benutze kommt immer etwas ganz anderes. Wei kann ich diese Umlaute darstellen?

Dank im Vorraus

MfG

Funnelweb
 
  • Umlaute C++ Beitrag #2
Ultimate Construct

Ultimate Construct

Bekanntes Mitglied
Dabei seit
19.06.2006
Beiträge
4.137
Reaktionspunkte
0
Hallo,
Ich hab grad ein wenig mit Zeigern rumgespielt , da ist wollt ich was ausprobieren und es klappte (passt glaubich auch zum Thema ) . Wenn du Sachen mit 'char' Initialisierst ,und diese dann ausgibst dann kannste (glaubig sind diese -> ) ASCII Zeichen hervorzeigen . Also :

Code:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
    char lol= 'q'; // Initialisierung
    lol = 6;   // 6 ist das Pic Zeichen 
    cout << lol <<endl; // Hier zeigt es an...
    system("pause"); //... und macht pause
    return 0;
}
Damit machst du ein "Pic"-Zeichen ( also wie das Schwarze Picblatt bei einem Kartenspiel)
Leichter Code den jeder verstehen sollte ... Ob das auch mit Int usw. klappt weiss ich nicht , versuch ich grade <_<

MFG,The U.C.
 
  • Umlaute C++ Beitrag #3
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

Hallo,
Damit machst du ein "Pic"-Zeichen ( also wie das Schwarze Picblatt bei einem Kartenspiel)
Das "PIC"-Zeichen wird nur ausgegeben, da Dein Terminal mit den Controlcode "ACK" nicht darstellen kann. Genau dieser verbirgt sich nämlich hinter dem von Dir verwendeten Code "6"!

Ich hab grad ein wenig mit Zeigern rumgespielt , da ist wollt ich was ausprobieren und es klappte (passt glaubich auch zum Thema )
Wo ist denn in Deinem Programm ein Zeiger zu finden?

Wenn du Sachen mit 'char' Initialisierst ,und diese dann ausgibst dann kannste (glaubig sind diese -> ) ASCII Zeichen hervorzeigen . Also :
ASCII-Zeichen kann man auch ganz einfach über "cout << "hello world" oder "printf("hello world\n") ausgeben.

Nic
 
  • Umlaute C++ Beitrag #4
Ultimate Construct

Ultimate Construct

Bekanntes Mitglied
Dabei seit
19.06.2006
Beiträge
4.137
Reaktionspunkte
0
  • Umlaute C++ Beitrag #5
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

Hä ? Ich habs nichts von finden gesagt !? Weiße etwa nicht was Pointer sind ? ;d
Da mach dir mal keine Sorgen.

Du schriebst " Ich hab grad ein wenig mit Zeigern rumgespielt". Ich sehe aber keinen einzigen Zeiger in deinem Beispielprogramm?!

Nic
 
  • Umlaute C++ Beitrag #6
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Wenn ich bei der Ausgabe von C++ ä,ö,ü benutze kommt immer etwas ganz anderes. Wei kann ich diese Umlaute darstellen?
Kommt auf die verwendeten Zeichenkodierungen an. Angenommen, Du benutzt VS und schreibst in Deinen Quellcode ein "ä". Dann hat dieses ä den Wert 228, ist also in der verwendeten Zeichenkodierung (vermutlich ISO 8859-1) auf Position 228 zu finden.
Die Windows-Konsole verwendet aber einen anderen Zeichensatz ("Codepage 437"). Dort befindet sich das ä an Position 132. Deshalb erscheint bei einem cout << "ä"; kein ä.

Das ist also kein C++-Problem, sondern eins der verwendeten Umgebung. Aus diesem Grund verwenden alle aktuellen Frameworks und APIs Unicode, einen "erweiterten" Zeichensatz. Ein String in Java oder .NET ist ein Unicode-String und die meisten Win32-API-Calls gibt es in einer Unicode-Variante.

Du muß also Deine Strings vor der Ausgabe in die Windows-Konsole erstmal nach 437 konvertieren. Am einfachsten geht das mit der Standard-C-Funktion
Code:
setlocale(LC_ALL, ".ACP");
zu Programmanfang.
 
  • Umlaute C++ Beitrag #7
Ultimate Construct

Ultimate Construct

Bekanntes Mitglied
Dabei seit
19.06.2006
Beiträge
4.137
Reaktionspunkte
0
Hallo,


Da mach dir mal keine Sorgen.

Du schriebst " Ich hab grad ein wenig mit Zeigern rumgespielt". Ich sehe aber keinen einzigen Zeiger in deinem Beispielprogramm?!

Nic


Hab ich auch !? Ich hab das Prinzip herrausgefunden , und daraufhin so neugeschrieben , das es jeder versteht . ;)
 
  • Umlaute C++ Beitrag #8
Funnelweb

Funnelweb

Bekanntes Mitglied
Dabei seit
21.02.2007
Beiträge
469
Reaktionspunkte
0
Ok, danke für eure Hilfe :victory:
 
  • Umlaute C++ Beitrag #9
Funnelweb

Funnelweb

Bekanntes Mitglied
Dabei seit
21.02.2007
Beiträge
469
Reaktionspunkte
0
Kommt auf die verwendeten Zeichenkodierungen an. Angenommen, Du benutzt VS und schreibst in Deinen Quellcode ein "ä". Dann hat dieses ä den Wert 228, ist also in der verwendeten Zeichenkodierung (vermutlich ISO 8859-1) auf Position 228 zu finden.
Die Windows-Konsole verwendet aber einen anderen Zeichensatz ("Codepage 437"). Dort befindet sich das ä an Position 132. Deshalb erscheint bei einem cout << "ä"; kein ä.

Das ist also kein C++-Problem, sondern eins der verwendeten Umgebung. Aus diesem Grund verwenden alle aktuellen Frameworks und APIs Unicode, einen "erweiterten" Zeichensatz. Ein String in Java oder .NET ist ein Unicode-String und die meisten Win32-API-Calls gibt es in einer Unicode-Variante.

Du muß also Deine Strings vor der Ausgabe in die Windows-Konsole erstmal nach 437 konvertieren. Am einfachsten geht das mit der Standard-C-Funktion
Code:
setlocale(LC_ALL, ".ACP");
zu Programmanfang.


klappt bei mir nicht!
 
Thema:

Umlaute C++

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben