관련 링크 : Stackoverflow-Why does printf not flush after the call unless a newline is in the format string?


printf 는 stdout stream 을 사용하는데, 이는 new line('\n') 에 도달했을 때 화면에 출력된다.(이것이 c언어의 규약이라 한다. Windows 의 C 가 왜 line buffer 을 사용하지 않고 바로 화면에 출력하는지는 모르겠다.)


따라서

printf("test");

의 문장이 콘솔창에 출력되지 않는다면 해결책은 3가지가 있다.


1. new line 을 추가한다.

printf("test\n");

2. 버퍼를 비워준다.

printf("test");
fflush(stdout);

3. stdout 대신 stderr 을 이용한다. print 가 아니라 fprint 함수를 이용한다.

fprintf(stderr, "test");