Linux환경에서 sleep함수와 반복문
글쓴이: kj0604 / 작성시간: 목, 2012/04/12 - 7:39오후
Gants chart에서 process가 수행되는 순서를 눈에 보이게 출력하는
프로그래밍 과제를 하고있습니다.
각 출력마다 1초 텀을 두고 한줄에 쭉 출력되게 하려고 하는데
아래와 같은 문제가있네요
예를들어서
while(1)
{
printf("Hello");
sleep(1);
}
이건 출력이 안되고
while(1)
{
printf("Hello\n");
sleep(1);
}
이건 출력이 정상적으로 되네요
원래 안되는게 정상인가요?
Forums:
line buffer
리눅스에서 line buffer 를 사용해서 그렇습니다
printf 를 하면 무조건 출력이 되는것이 아니고
출력버퍼(stdout) 에 개행문자(\n) 이 들어가주거나
fflush 등 뭔가 버퍼를 비워서 실제로 출력을 시켜주는
작업이 일어나야 화면에 표시됩니다
자기실력이 좋다고 느껴지는건 공부를 안하고 있다는 신호.
감사합니다
감사합니다! 해결은 했는데 원리를 몰랐었는데 배워갑니다!
댓글 달기