terminal und probleme mit dem '%'



  • hallo,
    ich schreibe grade an einem terminalprogramm mit ncurses.
    neuerdings habe ich probleme mit dem '%' zeichen bei usereingaben,
    und auch beim ausgeben.
    folgendes habe ich gesetzt:

    cbreak ();/*entfernt linebuffering (keyboard input erst ab cr) */
        noecho ();      /*beim tippen wird der ch nicht gezeigt */
        keypad (body, TRUE);    /*pfeiltasten etc werden interpretiert */
        curs_set (0);/*macht den zeiger unsichtbar*/
    

    wenn ich nun per wgetch einen char auslese und den gleich wieder ausgebe wird der normalerweise korekt angezeigt. das '%' aber nicht, beim ersten mal.
    wenn ich direkt dannach noch eines tippe, dann zeigt er mir eines an...
    beim printw ist es dasselbe: er zeigt das '%' erst an, wenn es doppelt vorkommt im string, wenns einfach vorkommt dann schneidet er den string dort ab.

    anders ist es mit dem '&' und dem '/', diese werden korrekt dargestellt.

    was mache ich denn falsch? ist es irgentwas mit der consolenfont?
    (euros werden auch nicht angezeigt, zumindest unter 😵
    ausserhalb des programms geht alles gut mit dem '%'

    also, wenn jemand hier einen heissen tip hätte wäre ich ihm sehr dankbar.
    thx schonmal,
    pazz



  • was machst du denn genau? zeig mal den code?
    du weisst hoffentlich, dass printf das prozentzeichen
    interpretiert (z.b. %i, %s...); willst du ein '%' ausgeben
    muesstest du z.b. printf( "%%" ) schreiben.



  • ach toll!
    das is n heisser tipp *g*
    ja das kann es sogar sein, ich glaub es is nicht mein tag heute *g
    wenn das das problem löst dann versinke ich im erdboden nachdem ich mich zehn mal gegeißelt habe..
    danke erstmal für die antwort.
    thx
    pazz


Anmelden zum Antworten