fgets + backspace

Alexandr Malusek malusek na hroch.ujf.cas.cz
Pondělí Leden 26 17:44:33 CET 1998


rebel na mail.kolej.mff.cuni.cz (Michal Svec) writes:

> ... Je mozne, aby chodily sipky, atd.?

Pri pouziti funkce gets() ne. Pokud vim, tak pri volani gets() muzete
nanejvys vyuzit editacnich moznosti, ktere implementuje terminalovy
driver - je mozne mazat posledni znak, slovo, pripadne radek. (viz
volby erase, werase a kill prikazu stty)

Chcete-li plnohodnotnou editaci radky (mody vi a emacs, sipky,
historie, ...)  pouzijte knihovnu readline (viz nejaky GNU
archiv). Misto gets() je pak mozne pouzit napr. funkci rl_gets().
(Pouziti je snadne)

Jeste me napadlo, ze pokud zustanete u gets(), tak nektere terminalove
emulatory pod X-Windows (konkretne cmdtool z OpenWindows) umoznuji
editovat radky ctene pres gets() i pomoci mysi a sipek. Jen je potreba
si trochu pohrat s nastavenim stty, aby to fungovalo rozumne. Jinak
cmdtool je uz "prezity", ale tuto jeho vlastnost obcas vyuzivam.
 
--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux