Rahmenelemente und Umlaute



  • Hallo,

    ich schreibe ein C++ Programm mit Visual Studio 10.0.

    Um die deutschen Umlaute ohne Hexcode eingeben zu können, habe ich die Codepage mit SetConsoleOutputCP auf 1250 umgestellt.

    Nun wollte ich eine Tabelle ausgeben und da die Codepage 1250 keine Rahmenelemente hat, habe die Codepage 437 wieder eingestellt und sie mir mit Rahmenelementen gebaut. Sonderzeichen in der Tabelle habe ich auch mit dem Hexcode eingefügt.

    Nun mein Problem:

    In der Tabelle werden diverse Ergebnisse von Berechnungen ausgegeben und ich möchte die ausgefüllte Tabelle als .txt Datei speichern. Da ich aber die Codepage 437 eingestellt habe, würden die Codes der Rahmenelemente anders ausgegeben werden.

    Kann mir jemand sagen wie ich mir einen Rahmen baue, während die Codepage 1250 eingestellt ist, damit ich die .txt Datei problemlos abspeichern kann?
    Lassen sich die Rahmenelemente über den jeweiligen Unicode einfügen?

    Danke im Voraus für eure Hilfe.



  • Mit ein bisschen Sucherei habe ich hier eine Lösung gefunden.

    Gibt doch kein Problem das nicht schonmal ein anderer hatte.

    Anbei der Code der bei mir funktioniert.

    Wenn jemand eine kompaktere Lösung hat, gucke ich mir die gerne auch noch an.

    #include <iostream>
    #include <string>
    #include <stdio.h>
    #include <io.h>    // for _setmode()
    #include <fcntl.h> // for _O_U16TEXT
    
    using namespace std;
    
    int main()
    {
    
        _setmode( _fileno( stdout ), _O_U16TEXT );
         wchar_t ch = 0x2534;
         wcout << ch;
    
    	system("pause");
    	return 0;
    }
    

Log in to reply