C에서 입력 버퍼를 들여다 보거나 fgets 호출이 나중에 차단되는지 여부를 알기 위해 비슷한 속임수를 수행 할 수 있는지 궁금합니다. 자바() BufferedReader.ready를 호출하여이 같은 콘솔 입력 뭔가를 구현할 수 있습니다 이런 식으로 그런 일을 수행 할 수 있습니다fgets가 차단되는지 확인합니다.
이while (on && in.ready()) {
line = in.readLine();
/* do something with line */
if (!in.ready())
Thread.sleep(100);
}
이 허용하는 외부 스레드를 우아하게 종료 거짓에 설정하여 입력 루프 ; 나는 C와 비슷한 구현을 비 휴대용 트릭에 의지하지 않고 수행하고 싶다. 나는 이미 유닉스에서 신호에 의지하거나 (더 나은 것은 버퍼링을 처리하는 것을 재 요구한다) reimplement하여 "timed out fgets"를 만들 수 있다는 것을 안다. 그것은 recv/select의 상단에 있지만, 나는 창문에서도 작동하는 것을 선호합니다.
TIA는
는 : http://msdn.microsoft.com/en-us/library/ms740141%28VS.85%29.aspx – nc3b
@ nc3b : 윈도우'select' 함수는 소켓 작동 . –
@Marcelo Cantos : 오, 죄송합니다. "> – nc3b