[c++]Bufor klawiatury

Witam

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

cin jest typu istream;

nie rozumiem posta powyżej O_o :?

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?

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

getch() - cin.get()

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

kod nie działa

Ponieważ nieporwanie go zastosowałeś.

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

“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ć.

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

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

Pod windows kbhit()

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

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();

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

Niezależnego sprzętowo - niema.