widechar: Ausgabe von Sonderzeichen funktioniert nicht



  • Danke, für die hilfreichen Antworten.
    Ich habe natürlich keinen Anspruch, dass man mir bei meinem Problem hilft, allerdings erwarte ich als Anfänger auch einen angemessenen Respekt (den hat einfach jeder Mensch) und der ist nicht gegeben, wenn man wie ein Troll antwortet (anders kann ich das einfach nicht beschreiben). Der, der keine Lust hat sich mit meinem Problem zu beschäftigen, ist nicht gezwungen dies zu tun und braucht deshalb nicht zu antworten - ganz einfach.

    Die Lösung von SeppJ funktioniert, die von Wutz nicht. Ich bekomme da folgenden Output:

    Bitte ein Zeichen eingeben: Ü
    wchar_t: 4 Bytes

    Bei der Lösung von SeppJ frage ich mich, wie das überhaupt funktionieren kann, da ich durch Recherche herausgefunden habe, dass sich das Argument "LC_CTYPE" nur auf Funktionen mit einem Byte auswirkt, allerdings hat ja der Typ wchar_t mindestens zwei Byte. Wie kann das also funktionieren?

    http://www.imb-jena.de/~gmueller/kurse/c_c++/c_locale.html

    Danke im Voraus.

    L. G.
    Steffo


  • Mod

    Steffo schrieb:

    Bei der Lösung von SeppJ frage ich mich, wie das überhaupt funktionieren kann, da ich durch Recherche herausgefunden habe, dass sich das Argument "LC_CTYPE" nur auf Funktionen mit einem Byte auswirkt, allerdings hat ja der Typ wchar_t mindestens zwei Byte. Wie kann das also funktionieren?

    http://www.imb-jena.de/~gmueller/kurse/c_c++/c_locale.html

    Das ist schlicht und einfach falsch. Lost in translation?

    ANSI C Standard schrieb:

    LC_CTYPE affects the behavior of
    the character handling functions and the multibyte and wide character functions.

    Mit Internettutorials zu C und C++ wäre ich allgemein vorsichtig. Die sind fast nie gut. Eigentlich kenne ich kein einziges gutes. Und ganz besonders vorsichtig wäre ich mit einem, welches die ominöse Sprache C/C++ lehren will. Und dreifach vorsichtig wäre ich bei Unterichtsmaterial zu einem Uni-Porgrammierkurs. Auch wenn's nach Vorurteil klingt: Was den Stil angeht, sind Professoren meistens 30 Jahre zurück. Und da es meistens eher um Algorithmen geht, wird es mit der technischen Genauigkeit beim Programmieren nicht so genau genommen. Hauptsache es läuft irgendwie. Sonst käme man auch gar nicht mit dem eigentlichen Stoff durch im Semester.



  • OK, da hat wohl meine verlinkte Internetquelle massiv falsch abgeschrieben, denn zwischen 1 Byte und Multibyte sind Welten!
    Welches C-Buch würdest du mir empfehlen? Ich muss sagen, dass ich nun ziemlich verschreckt bin, was C-Bücher und Tutorials angeht...

    L. G.
    Steffo


  • Mod

    Kernighan & Ritchie, The C Programming Language, englische Ausgabe.
    The C Programming Language | ISBN: 0131103628



  • Such mal im Web nach The GNU C-Programming tutorial.
    Das habe ich verwendet um mir C beizubringen. Ist für mich sehr gut gewesen
    und was ich machen wollte, funktioniert.
    Hab den Link gerade nicht zur Hand.
    Und für die grafische Oberfläche, falls gewünscht, Graphapp - läßt sich
    auch unter Windows kompilieren und ist einfach im Aufruf aus C.
    Nachdem ich in meiner langen EDV-Tätigkeit erst PL/1, Assembler und
    CObOL, später Abap gelernt habe, hat halt noch C gefehlt um unter Linux
    auch noch ein bisserl was zu entwickeln und da kam mir dieses Tutorial
    gerade recht - war allerdings ein recht heftiges Umdenken von z. B
    Cobol nach C.



  • Danke, gucke mir erst mal das GNU-C Programming Tutorial an, da ich als Student knapp bei Kasse bin. 😉 Wenn ich mich mit C anfreunden kann, werde ich mir das Standardwerk holen. 😉

    L. G.
    Steffo



  • So, das läuft jetzt auch für POSIX-lastige Systeme.

    http://ideone.com/vpg9R


  • Mod

    Student? Guck doch mal in der Uni-Biliothek. der K&R ist das Standardwerk zu C (die beiden sind Miterfinder der Sprache), das haben die in der Uni-Bibliothek bestimmt zigfach.


  • Mod

    Wutz schrieb:

    So, das läuft jetzt auch für POSIX-lastige Systeme.

    http://ideone.com/vpg9R

    Also bei mir landet das in einer Endlosschleife, wenn ich ein Sonderzeichen eingebe. Meine Konsole gibt dem Programm nämlich ein UTF-8 Zeichen weiter. Und ich bin damit sicherlich nicht alleine.



  • SeppJ schrieb:

    Student? Guck doch mal in der Uni-Biliothek. der K&R ist das Standardwerk zu C (die beiden sind Miterfinder der Sprache), das haben die in der Uni-Bibliothek bestimmt zigfach.

    Stimmt, da war doch was! - Bibliothek! 🙄 Mir steht sogar die beste Hochschulbibliothek in ganz Deutschland zur Verfügung.

    Muss da unbedingt mal vorbeischauen. 🙂

    EDIT:

    SeppJ schrieb:

    Wutz schrieb:

    So, das läuft jetzt auch für POSIX-lastige Systeme.

    http://ideone.com/vpg9R

    Also bei mir landet das in einer Endlosschleife, wenn ich ein Sonderzeichen eingebe. Meine Konsole gibt dem Programm nämlich ein UTF-8 Zeichen weiter. Und ich bin damit sicherlich nicht alleine.

    Dito.

    L. G.
    Steffo


Anmelden zum Antworten