[c++]Bufor klawiatury


(Rafalwiecek29081994) #1

Witam

potrzebuje jakiegoś artykułu tutka o buforze klawiatury co mogę z nim robić jak go odczytywać itp. wszystko w c++


([alex]) #2

cin jest typu istream;


(Rafalwiecek29081994) #3

nie rozumiem posta powyżej O_o :?


([alex]) #4

Jeżeli pytasz o bufor klawiatury z C++ to jest nim obszar pamięci zarezerwowany w obiekcie cin który jest typu iostream...

Którego słowa nie rozumiesz?


(Rafalwiecek29081994) #5

Mógłbyś to pokazać na jakimś przykładzie np wczytujesz _getch() a potem go odczytujesz z buforu klawy :slight_smile:


([alex]) #6

getch() - cin.get()

scanf("%d%f%32s",&a,&b,c) - cin>>a>>b>>setw(32)>>c; // int a; float b; char c[33];


(Rafalwiecek29081994) #7

kod nie działa


([alex]) #8

Ponieważ nieporwanie go zastosowałeś.


(Rafalwiecek29081994) #9

to napisz jak go poprawnie użyć :slight_smile:


([alex]) #10

"Napisanie" wszystkich możliwości użycia jest niemożliwe z powodu nieskończoności zbioru poprawnych użyć.

Podaj do czego chcesz to użyć.


(Rafalwiecek29081994) #11

dobra to tak program leci leci sprawdzam czy w buforze coś jest nie to nic nie robi jeśli tak to odczytuje i wykonuje coś z nimi (i tutaj nie wiem jak działa bufor klawy więc będę usuwał poprzedni klawisz albo tak jak w tablicy :slight_smile: ) znów sprawdza jeśli true to znów jeśli false to idzie dalej


([alex]) #12

W C++ nie ma na to żadnej możliwości, chyba że wyspecjalizowane i zależne od sprzętu.

Pod windows kbhit()


(Rafalwiecek29081994) #13

kbhit() znam :slight_smile: ale nadal nie wiem jak "odczytać" bufor klawy lool


([alex]) #14

Odczyt tylko znak po znaku za pomocą getch()

Nie masz dostępu do całego bufora.

W windows'ach 16-bitowych można było odczytać.

No chyba że odczytujesz za pomocą wejścia asynchronicznego - cin

cin.rdbuf() - wskaźnik na bufor

cin.rdbuf()->in_avail() - ilość znaków w buforze

lista poleceń dla streambuf

Z tym że to nie współgra z kbhit();


(Rafalwiecek29081994) #15

heh czyli nie ma żadnego sposobu na odczytanie klawisza którego użytkownik wcisnął a program akurat nie wczytywał dobrze rozumiem :slight_smile: ?


([alex]) #16

Niezależnego sprzętowo - niema.