wie finde ich heraus wie breit \t ist?



  • also im programm?



  • überhaupt nicht 🙂



  • was ist die standard breite unter win und unixen?
    8 oder 4 zeichen?



  • Ich nehme mal an du meinst die Escape Sequence. Willst du nur wissen wie breit \t ist (das ist soweit ich weiss ein single byte character) oder wie die Schrittweite bei Benutzung des Tabulators ist (zB bei String Ausgaben)? Soweit ich weiss ist das implementation defined. Vielleicht solltest du mal genauer sagen in welchem Zusammenhang du das brauchst.

    [ Dieser Beitrag wurde am 22.03.2003 um 20:49 Uhr von groovemaster2002 editiert. ]



  • Original erstellt von groovemaster2002:
    **Ich nehme mal an du meinst die Escape Sequence. Willst du nur wissen wie breit \t ist (das ist soweit ich weiss ein single byte character) oder wie die Schrittweite bei Benutzung des Tabulators ist (zB bei String Ausgaben)? Soweit ich weiss ist das implementation defined. Vielleicht solltest du mal genauer sagen in welchem Zusammenhang du das brauchst.
    **

    mit ansi escape sequencen kann ist die curser position setzen, aber woher weis ich wo sich grade der curser aufhält?
    ich schreibe mir ein stream buffer tausche den von cout aus und lase den stream buffer mitzählen wo der curser ist

    bei einzelen chars ist das ja kein problem, aber was soll der stream buffer machen wenn er ein '\t' bekommt?
    +=4 oder +=8

    aber lösung ist nicht schwer, ich implementierer meine eigene tab logic und geben auf den bildschirm leerzeichen aus



  • aber lösung ist nicht schwer, ich implementierer meine eigene tab logic und geben auf den bildschirm leerzeichen aus

    Genauso denke ich sollte es ausschauen. Nur ist es mit +=4 bzw. +=8 nicht einfach getan. 4 bzw. 8 (oder was immer du als Schrittweite nehmen willst) gibt normalerweise die maximale Anzahl der Whitespace Zeichen an, da die Tab Position sich an diesen Grenzen ausrichtet.
    Bsp.:
    Du hast als Schrittweite 8 und stehst auf Position 3 (ausgehend von 0). Wenn ein \t jetzt kommt sind deshalb nicht 8 Leerzeichen sondern halt nur 5 auszugeben.



  • Dimah, das hat alles so keinen Sinn. Nutze die Konsolen-Funktionen des Betriebssystems um die Cursor-Position rauszubekommen! Solche Funktionen gibt es zumindest unter Windows und Linux. Alles andere ist Müll.



  • die linux funktionen habe ich durch, alles misst
    außerdem z.b. ncurses tut es mir gleich nur das sie sich die mühe gemacht haben heraus zu finden was die tab breite ist und sie dadurch echte tabs an die console schicken


Anmelden zum Antworten