SetConsoleCP(1252/*oder CP_WINANSI*/) funktioniert nicht



  • Hallo erstmal,
    in einer Konsolenanwendung welche ich schreibe möchte ich Sonderzeichen verwenden.
    Dazu habe ich die Funktion SetConsoleCP(1252) gefunden.

    Codebeispiele:

    Funktioniert

    #include <iostream>
    #include <Windows.h>
    using namespace std;
    
    int main()
    {
        SetConsoleCP(CP_WINANSI);
    
        cout << "öäßáéíóú";
    
        return 0;
    }
    

    Ausgabe

    öäßáéíóú
    

    Funktioniert nicht

    #include <string>
    #include <iostream>
    #include <fstream>
    #include <Windows.h>
    
    int main()
    {
        SetConsoleCP(CP_WINANSI)
    
        string content;
        ifstream f("text.txt");
    
        getline(f, content);
    
        f.close();
    
        cout << content;
        return 0;
    }
    

    text.txt (gespeichert im ANSI Format)

    áéíóúßöä
    

    Ausgabe: Komische Zeichen

    Was ist da los? 😕
    Mach ich was falsch?

    Danke schon mal für eure Antworten 😃



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten