printf buffering 조심하기 !!

이기현·2020년 4월 6일
0

OS

목록 보기
5/6
post-custom-banner

printf()등 출력 함수들은 메시지를 즉시 출력하지 않고 buffering하기 때문에 실제 출력까지 delay가 있습니다. printf() 후 fflush(stdout);을 넣으면 즉시 출력할 수 있습니다.
이상한게, \n을 쓰면 fflush같은 기능을 한다.
이것 때문에 2시간정도 헤맨거 같다 ..


strcpy(buffer, data.data_buff);
printf("                          [incoming] :");
printf("                                       %s", buffer);
printf("\n");
printf("[msg] :");
fflush(stdout);
 

위와 같을 때 , 밑에 fflush를 안써주면 [msg]부분이 buffer에 남아 출력이 안되는 경우가 있다 . !

profile
실력을 쌓아가는 하루하루

0개의 댓글