Windows und DOS (die Eingabeaufforderung emuliert DOS) benützen zwei verschiedene Zeichensätze für die 'Sonderzeichen', die nichtmehr im ASCII Zeichensatz enthalten sind. Darunter auch die deutschen Umlaute.
namespace Umlaut
{
const unsigned char AE = static_cast<unsigned char>(142);
const unsigned char ae = static_cast<unsigned char>(132);
const unsigned char OE = static_cast<unsigned char>(153);
const unsigned char oe = static_cast<unsigned char>(148);
const unsigned char UE = static_cast<unsigned char>(154);
const unsigned char ue = static_cast<unsigned char>(129);
const unsigned char ss = static_cast<unsigned char>(225);
}Wenn du nicht alles verstehst, ist das nicht weiter schlimm. Dieser SourceCode kommt einfach immer am Anfang in deine main.cpp (oder wie auch immer du sie nennst) - bzw. in eine deiner eigenen 'header' Dateien (wenn du das Prinzip der headerdateien schon verstanden hast).
Zu benutzen geht dieser Code recht einfach:
#include<iostream>
using namespace std;
namespace Umlaut
{
const unsigned char AE = static_cast<unsigned char>(142);
const unsigned char ae = static_cast<unsigned char>(132);
const unsigned char OE = static_cast<unsigned char>(153);
const unsigned char oe = static_cast<unsigned char>(148);
const unsigned char UE = static_cast<unsigned char>(154);
const unsigned char ue = static_cast<unsigned char>(129);
const unsigned char ss = static_cast<unsigned char>(225);
}
int main()
{
cout<<"Hall"<<Umlaut::oe<<"chen Leute!\n";
cout<<"Heute ist es echt hei"<<Umlaut::ss<<"\n";
cout<<Umlaut::UE<<"berreden wir unseren Chef fr"<<Umlaut::ue<<"her heimgehen zu d"<<Umlaut::ue<<"rfen?\n";
}Wie wir sehen ist die Benützung zwar recht einfach, aber es zerstört den Lesefluss. Leider gibt es keine bessere Möglichkeit Umlaute in der Eingabeaufforderung darzustellen wenn man unter Windows arbeitet. Man könnte natürlich auch einen DOS Editor verwenden, oder vor dem kompilieren immer den Sourcecode in den DOS Zeichensatz konvertieren. Aber eine wirklich schöne Möglichkeit gibt es leider nicht.