KOD cpp: UKRYJ
if(GetAsyncKeyState(VK_ESCAPE)) logfile << "[ESC]"; //TEN KOD DZIAŁA
if(GetAsyncKeyState(VK_ESCAPE)&1) logfile << "[ESC]"; //TEN KOD NIE DZIAŁA
if(GetAsyncKeyState(VK_ESCAPE)&1) cout << "[ESC]"; //KOD DZIAŁA
if(GetAsyncKeyState(VK_ESCAPE)&1) logfile << "[ESC]"; //TEN KOD NIE DZIAŁA
if(GetAsyncKeyState(VK_ESCAPE)&1) cout << "[ESC]"; //KOD DZIAŁA
Teraz odnośnie kodu, który NIE DZIAŁA nie jest to w pełni tak, że nie działa, bo działa jednak dopiero wtedy gdy w buforze danych które mają zostać umieszczone w pliku jest 17 linii tekstu, dziwne prawda? Wniosek z moich prób jest taki, dodanie do GetAsyncKeyState() "&1" powoduje dziwny bug w fstream'ie, dziwne jest jednak że standardowe wrzucenie danych do strumienia by je wyświetlić na ekranie działa, tak więc jestem pewien, że warunek się spełnia w momencie naciśnięcia przycisku.
#Edit
Problem jest jeszcze dziwniejszy niż mi się wydawało początkowo. Jeśli warunek się spełnia to działają wszystkie funkcje za wyjątkiem tych operujących na plikach, próbowałem modyfikować plik za pomocą funkcji różnych bibliotek, nie tylko fstream ale też WinAPI (WriteFile) - efekt ten sam, czyli dziwny błąd.