2016-10-25 28 views
0

프로그래밍을 시작한 후 fflush(stdout); 명령에 대해 알게되었습니다. 나는 왜 내가 대부분의 플랫폼에서 그것을 필요로하는지 이해하지만, 나는 아직도 나 자신에게 몇 가지 질문을한다. ...fflush (stdout) 관련 문제;

1. 라인 버퍼가 있기 때문에 msys2에 버퍼링을하지 않겠습니까? (Mintty)

2. Clion에서 사용할 필요가 없는데 왜 Eclipse에서 사용해야합니까?

3.Am 저는 Eclipse와 Msys2에서 그 문제에 고심하고있는 유일한 사람입니까?

편집 : 3.1. fflush (stdout)가 필요 없기 때문에 묻습니다. 내 학교의 Windows 컴퓨터에서. 왜 그런가요?

+0

을 내 printf와 출력과 함께 \ n 또는하지 끝날 경우 실제로는 아무것도 변경되지 않습니다. 그냥 화면에 표시되지 않습니다. 하지만 Clion에 \ n 넣지 않더라도 여전히 IDE의 터미널에 출력이 표시됩니다. – Ender

+3

IDE의 멋진 세계에 오신 것을 환영합니다. 아직 Mac에서 사용하기에 좋은 IDE를 찾지 못했지만 골동품이며 다른 곳에서도 사용할 수있는 멋진 IDE를 찾지 못했습니다. Eclipse가 C 프로그램의 '터미널 I/O'를 처리하는 방식에 문제가 있습니다. 지난 한두 달 동안이 주제에 관한 질문이있었습니다. 그것은 고통이 될 것입니다. (Windows는 Windows이기 때문에 Windows가 다르게 작동합니다.) –

+0

Xcode가 Mac에 적합하다고 들었습니다. 하지만 나는 윈도우에있다. yeaaaah ... (나는 다르다!) – Ender

답변

-1

fflush를 사용하여 stdout 버퍼를 지우고 정의되지 않은 동작이 있습니다. 때로는 fflush가 작동하지 않고 대신 fpurge를 사용하는 것이 좋습니다. Windows에서 동작에 대한 질문에 대한 자세한 내용은

,이 스레드를 참조 - How come fflush(stdin) function is not working?

+0

OP *는'stdout'을 플러시합니다. 또한'fpurge'는 표준 C 함수가 아닙니다. –