Problem z getchar()
Ostatnio zmodyfikowano 2009-11-12 19:39
Paffciek Temat założony przez niniejszego użytkownika |
Problem z getchar() » 2009-11-09 20:09:03 Witam. Program niby banalnie prosty, a jednak mam jakiś problem. Proszę o odpowiedź, czemu się on wyłącza zamiast czekać na naciśnięcie ENTERa ? #include<iostream>
using namespace std;
int main() { int a; cout << "Wartosc bezwzgledna v1.0" << endl << endl << endl; cout << "Podaj liczbe: "; cin >> a; if( a >= 0 ) { cout << "|a| = " << a; } else { cout << "|a| = -" << a; } cout << endl << endl << "Zakoncz...[ENTER]"; getchar(); }
Poza tym,gdy napiszę zamiast getchar(); to getchar(); getchar(); to działa :/ |
|
malan |
» 2009-11-09 20:52:12 Spróbuj po ' cin ' (wczytywaniu liczby) dać cin.sync(); |
|
Paffciek Temat założony przez niniejszego użytkownika |
» 2009-11-09 20:56:47 dodałem plik <conio.h> i zrobiłem getch(); i narazie działa :) a do czrgo ten cin.sync(); ? |
|
malan |
» 2009-11-09 21:07:08 Pozwolę sobie zacytować: "cin.sync() - czyści bufor strumienia", czyli można powiedzieć, że usuwa wszystkie znaki (wciśnięte klawisz) z bufora. |
|
Paffciek Temat założony przez niniejszego użytkownika |
» 2009-11-10 20:33:20 tzn, że coś jest "naciśnięte na zapas" i dlatego już getchar(); nie potrzebuje wciskania drugi raz?
//edit -> jak się tutaj koloruje skladnie(na forum) ?
//@by admin: wciśniesz edit na poprawionym poście i będziesz wiedział :P
//nie wpadłem na to :D |
|
Thud |
» 2009-11-10 21:16:55 Jedno użycie getchara zapycha bufor. Czyść go. A w ogóle polecam get.cin(), dobrze zintegruje się z get.sinc(). |
|
Elaine |
» 2009-11-11 16:31:37 getchar() nie zapycha bufora - to user, wciskając klawisze, zapycha bufor. Jeśli ten nie jest pusty, to getchar() będzie z niego czytać, więc wypada zrobić flush przed tym. Niestety, fflush(input stream) to undefined behavior, zostają iostreamsy, w których mamy metodę sync() /która jest niewielkim wraperrem na streambuf:: pubsync(), ale cicho, nie wszyscy muszą o tym wiedzieć/. |
|
Paffciek Temat założony przez niniejszego użytkownika |
» 2009-11-12 19:39:17 trochę zbyt skomplikowane :D |
|
« 1 » |