C printf a mazanie znakou

Sekcia: Programovanie 04.12.2011 | 00:40
johnny   Návštevník
Dobrý večer.

V bash, ak je váš príkaz veľmi dlhý nastane zalomenie riadku a potom nie je problém tento celý príkaz vymazať. Akým spôsobom sa to dá zabezpečiť v C/C++ ? Lebo pokiaľ sa pokúsim mazať zalomený riadok pomocou "\b" dostanem sa len po zalomenie a ďalej to už nejde. Sú na to nejaké triky,nastavenia alebo dačo ? Kde mám pátrať ?

    • Re: C printf a mazanie znakou 04.12.2011 | 22:40
      johnny   Návštevník
      Takže som prišiel k záveru, že sa to nedá, žiadnym jednoduchým spôsobom.

      Riešenie by bolo napríklad cez ncurses knižnicu, ale kvôli rozbitosti tej knižnice(detekcia špeciálnych znakov niekedy prestane ísť,ukončovanie okna deto) a hlavný dôvod, potom by to nebol ten klasický scrolovací výstup.

      Takže som sa rozhodol zamieriť sem:
      http://linux.die.net/man/3/tcsetattr - nastavenie tty(noncanonical,signaly)
      http://linux.die.net/man/2/write - okamžitý zápis.
      http://linux.die.net/man/2/read - cítanie vstupu
      http://linux.die.net/man/3/ioctl - detekcia row cols obrazovky
      http://www.termsys.demon.co.uk/vtansi.htm - posun po obrazovke
      http://ascii-table.com/ansi-escape-sequences-vt-100.php

      Done.
    • Re: C printf a mazanie znakou 04.12.2011 | 22:57
      johnny   Návštevník
      Btw mojím cieľom je spraviť univerzálnejšiu implementáciu ktorá by spracúvala vstup a bola by použitelná v programoch kde máte command line.
      Niečo ako bash: história príkazov(sipka hore dole),scroll(home,end,pgup,pgdown),definovanie príkazov a k nim help,definove alisov k prikazom, použiteľnosť iných znakových sád,ctrl+c,v.