Umlaute über cin in ein char-Variable???



  • Schreib mal äüö in ne Datei, also ohne deine Escape-Sequenzen dafür zu verwenden.
    Wie gesagt liegt an der verwendeten shell.



  • Wenn ich "ÄäÖöÜüß" über fputs ausgeb ist alles in Ordnung, bei fputws wird aber nix in die Datei reingeschrieben!!
    Wie kann ich das mit der shell ändern??



  • Anon schrieb:

    Jo lieber gefrickelt, statt einfach die Umlaute reingeschrieben 🙄 🙄 🙄 👎

    das blöde ist, daß der editor unter umständen eine andere codepage benutzt als die konsole. da klappt das mit dem direkt reinschreiben leider nicht. und auch L"..."-stings nutzen nix, wenn der editor kein unicode benutzt. und selbst wenn, der c++-compiler verlangt ascii-quelltexte. da hilft eben nur "gefrickel" 🙄



  • Konfusius schrieb:

    Anon schrieb:

    Jo lieber gefrickelt, statt einfach die Umlaute reingeschrieben 🙄 🙄 🙄 👎

    das blöde ist, daß der editor unter umständen eine andere codepage benutzt als die konsole. da klappt das mit dem direkt reinschreiben leider nicht. und auch L"..."-stings nutzen nix, wenn der editor kein unicode benutzt. und selbst wenn, der c++-compiler verlangt ascii-quelltexte. da hilft eben nur "gefrickel" 👎

    Eben, bevor man mal schaut ob der Editor das auch gescheit speichert oder speichern kann, lieber frickeln 👍



  • offensichtlich kann es der editor des threadstarters nicht, denn sonst hätte er ja kein problem.

    PS: auf einmal spinnt das login 😡



  • Versuch es auf der alten Weise und nutze dabei die ASCII - Tabelle.
    so würde bspw. der Schäfer so geschrieben werden:

    cout << "Sch\x84fer";
    

    für ein ö war es \x94
    und für ein ü war es \x81
    Ä = \x8E
    Ö = \x99
    Ü = \x9A
    Dazu zusagen ist das du in einer cout Anweisung nicht mehr als zwei bspw. Ö's nehmen kannst



  • Das mit dem cout und so hab ich ja mitlerweile im Griff, aber wenn ich jetzt mit wcin z.B. ein "ö" eingelesen hab und mit fputws in eine Datei schreiben will, dann kommt da nur Sch.... an. Er schreibt zwar den hexcode 84 in die Datei, aber wenn ich die dann wordpad o.ä. öffne, dann steht da kein "ö"!!! So weit ich das jetzt rausbekommen hab muss da der Hex-Code E4 stehen um ein "ö" anzuzeigen.



  • Wo willst du die Ausgabe denn sehen, in der Kommandozeile oder in der Datei?



  • in der Datei



  • Gut OK es ist nicht die beste Lösung aber es ist ein Ansatz.
    Führe dein Programm von der Console aus aus.
    Hier tippst du bspw.: ASCII.exe >> Ausgabe.txt
    Dabei schreibt er die gesamte Ausgabe in die Datei, und wenn du jetzt in Windows normal ein ä schreibst, wird es dir in der Console falsch ausgegeben, aber in der Datei wieder richtig.



  • ja schon klar, entweder ich bekomme es in der Konsole falsch angezeigt, in der Audgabe ist es richtig, oder es wird in der Konsole richtig angezeigt, in der Ausgabe aber nicht.
    Aber gibt es da kein Hausmittelchen gegen diese Krankheit?


Anmelden zum Antworten