Re: BEznadziejnie glupie pytanie programistyczne

Autor: Lech Wiktor Piotrowski (lewhoo_at_teamos2.org.pl)
Data: Sat 24 Feb 2001 - 16:10:31 MET


On Sat, 24 Feb 2001 16:05:32 +0100 (MET), Leszek KUBRAK wrote:

>On Sat, 24 Feb 2001 15:52:27 +0100 (MET), Lech Wiktor Piotrowski wrote:
>
>>To troche outoftopic, chociaz nie jestem pewien, bo moze byc "system-dependent" :)
>>
>>Mianowicie, jak odczytac klawisz z klawiatury w C? Chodzi mi dokladnie o kursor... Bo
>>ten zwraca kod ansi 0.
>>
>>Na #c mowili, ze to zalezy od systemu i nikt oczywiscie nie potrafil pomoc w OS/2...
>>
>>No i tu niestety w C brakuje standardowych funkcji, bo obsluga klawiatury powinna
byc
>>wbudowana w jakis uproszcozny sposob, jak w basicu czy pascalu :<
>
>Ależ jest wbudowana w sposób NIEZALEŻNY od systemu (a ci twoi od #c to kretyni,
>mówię z pełną odpowiedzialnością).
>Standardowa funkcja w C getch(). Zwraca kod ASCII znaku. Jeżeli nacisnąłeś klawisz
>funkcyjny (np.kursor, CTRL+...) to zwraca 0. Wołasz ją jeszcze raz i dostajesz resztę
>kodu znaku. Poniżej przykład :
>
>#include <conio.h>
>
>int g4char()
>{
>int znak;
>
> znak = getch();
> if( znak == 0 )
> znak = getch() << 8;
>
> return( znak );
>}
>
>A w swoim programie wołasz zawsze g4char. Taka konstrukcja działa NAPEWNO
pod DOS-em,
>OS/2, wszelkiej maści UNIXAMI i.t.p.
>

Thx, aczkolwiek wydaje mi sie, ze w helpie do gcc odnalazlem jedynie getc i getchar.
moze getc robi to samo :) Zapytam jeszcze, co oznacza w tym kodzie <<8

?

-------------------------------------------------------------------------------------------------
Lech Wiktor Piotrowski | ICQ#: 50746253 | lewhoo_at_teamos2.org.pl
TeamOS/2 Poland Webmaster - http://www.teamos2.org.pl
Inne systemy maja uzytkownikow, OS/2 ma wyznawcow
My home OS/2 system uptime is: : 3d 0h 36m 34s 7ms (en).
----------------------------------------------- -------------------------------------------------



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:30:16 MET DST