Używam getch()
i moja aplikacja ulega natychmiastowej awarii. W tym przypadku robi:Odpowiednik getch Windows() na awarie Mac/Linux
int main()
{
getch();
}
nie mogę znaleźć linku, ale podobno problem jest to, że musi wyłączyć buforowanie lub coś dziwnego w tym kierunku, a ja nadal chce cout
do pracy wraz z krzyżem kodu platformy.
Powiedziano mi, że należy używać std::cin.get()
, ale chciałbym, aby aplikacja została zamknięta po naciśnięciu klawisza, a nie wtedy, gdy użytkownik wpisał literę lub cyfrę, a następnie naciśnij klawisz Enter, aby zakończyć.
Czy jest w tym funkcja? Kod musi działać pod Mac (mój system operacyjny) i Windows.
Łączenie/kompilacja nie jest issue; Dołączam <curses.h>
i łączę z -lcurses
w XCode, podczas gdy Windows używa <conio.h>
.
Należy zauważyć, że "cout" jest konstrukcją C++. Chociaż dotychczasowe odpowiedzi dotyczą głównie języka C, będą również miały zastosowanie w C++. I std :: cin.get() utknąłby w oczekiwaniu na linię wejścia terminala - syndrom "Hit Enter" - tak samo jak getchar() lub jakakolwiek inna standardowa funkcja I/O. –