Getch(); powoduje błąd komilacji


#1

Mam taki problem w Visual express C++.

Kiedy dodam do jakiegoś programu getch(); wywala mi błąd

Dzieje się tak od jakiś 10 minut, nie wiem czym to może być spowodowane.

Proszę o pomoc


(Xeon Bloomfield) #2

Błąd C4996 to pewnego rodzaju zabezpieczenie Microsoftu...

Użyj:

#pragma warning(disable:4996)

i po problemie...


(Sawyer47) #3

....

Przecież masz dokładny opis w komunikacie błędu. Więcej info tutaj:

http://stackoverflow.com/questions/8149 ... deprecated

http://msdn.microsoft.com/en-us/library ... 80%29.aspx

http://msdn.microsoft.com/en-us/library ... 80%29.aspx


(Xeon Bloomfield) #4

Przeczytałem to co napisał nr47 i wynika, że albo użyjesz

_getch();

albo mojego kodu...

Polecałbym również zamianę getch() na getchar() - pozbywamy się conio.h, które zwykle bez getch() jest zbędne...


(Kozokslawomir) #5

Ja bym polecił jednak strumień standardowy - cin.get()


([alex]) #6

Jeżeli używasz wprowadzenie za pomocą cin, na przykład:

cin>>liczba;

to zamiana getch() na getchar() "zepsuje" program.

ale możesz go zastąpić na:

cin.sync(); cin.get();