Portál AbcLinuxu, 9. června 2025 04:55


Dotaz: C - Pozice kursoru na konsoli

Barbucha.eu avatar 27.11.2005 16:17 Barbucha.eu | skóre: 23 | Chrást u Plzně
C - Pozice kursoru na konsoli
Přečteno: 196×
Odpovědět | Admin
Nevíte někdo, jak nastavit pozici kursoru na konsoli a měnit barvu textu a pozadí? Maně si vzpomínám, že při programování pro MsDOS to bylo něco jako setcursorpos, setbgcolor a tak, ale to už je dávno, co jsem to používal. Teď jsem asi půl hodiny hledal po netu, ale ekvivalent pro Linux jsem nenašel. (V Pascalu tomu odpovídalo, myslím, gotoxy.)
Co Bůh rozbil, člověk neopravuj!
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 27.11.2005 16:31 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: C - Pozice kursoru na konsoli
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli máš na mysli textový kursor a nikoliv myš, tak ti odpovď poskytne knihovna ncurses.
Hello world ! Segmentation fault (core dumped)
Barbucha.eu avatar 27.11.2005 17:15 Barbucha.eu | skóre: 23 | Chrást u Plzně
Rozbalit Rozbalit vše Re: C - Pozice kursoru na konsoli
Jo, o ní už jsem slyšel. Jen jsem hledal snažší způsob.
Co Bůh rozbil, člověk neopravuj!
Josef Kufner avatar 27.11.2005 22:11 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: C - Pozice kursoru na konsoli
Ta knihovna neni tak hrozna jak to na prvni pohled vypada a nic snazsiho pokud vim neni.
Hello world ! Segmentation fault (core dumped)
15.12.2005 14:58 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: C - Pozice kursoru na konsoli
Ta knihovna je mnohem horší než na první pohled vypadá. Použij man console_codes
Táto, ty de byl? V práci, já debil.
27.11.2005 21:41 Martin Čížek | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: C - Pozice kursoru na konsoli
Odpovědět | | Sbalit | Link | Blokovat | Admin
Základní odlišnost DOSu je, že tam se pracuje s _obrazovkou_ a nikoliv s konzolí. Obrazovka je hardware, odpovídá jí video mód, lze ji programovat třeba přes BIOS. Konzole/terminál je abstrakce.

Terminál se ovládá zápisem řídících, resp. escape sekvencí. Bohužel různé typy terminálů se liší, a proto je vhodné knihovnu, která člověka od odlišností odstíní. Knihovny se řídí zejména proměnnou prostředí TERM, podle které volí vhodné řídící sekvence.

Chceš-li na to jít opravdu přímo, zadej do googlu něco jako ANSI terminal control sequences.

Malá ilustrace - zkus v terminálu:
clear > /tmp/pokus
cat /tmp/pokus
Pěkné, že? :-)
Kdyby dva z nás byli dvěma z nich, všichni z nás by mohli být všemi z nich.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.