C에서 stdout의 버퍼링을 해제하는 방법
다음 코드에 대한 정확한 결과를 얻기 위해 stdout에 대한 버퍼링을 해제하고 싶습니다.
while(1) {
printf(".");
sleep(1);
}
버퍼가 채워질 때만 '.'의 코드 printf 번들입니다.
setvbuf 함수를 사용할 수 있습니다.
setvbuf(stdout, NULL, _IONBF, 0);
다음은 이 기능에 대한 다른 링크입니다.
세트버프도 사용할 수 있습니다.
setbuf(stdout, NULL);
이것으로 모든 것이 해결될 것입니다.
사용하다fflush(FILE *stream)
와 함께stdout
매개 변수로 사용합니다.
http://www.elook.org/programming/c/fflush.html
다음을 수행할 수 있습니다.
write(1, ".", 1);
이 대신에:
printf(".");
사용하다fflush(stdout)
매일 사용할 수 있습니다.printf
강제로 버퍼를 플러시하도록 호출합니다.
언급URL : https://stackoverflow.com/questions/7876660/how-to-turn-off-buffering-of-stdout-in-c
'programing' 카테고리의 다른 글
iOS iPhone X, iPhone 6 plus, iPhone 6, iPhone 5, iPhone 4를 매크로로 감지하는 방법? (0) | 2023.06.06 |
---|---|
"pip install -e"의 사용 사례는 무엇입니까? (0) | 2023.06.06 |
종료하기 전에 메모리를 확보해야 합니까? (0) | 2023.06.06 |
C에서 'a'가 int인데 왜 (char)의 크기가 1입니까? (0) | 2023.06.06 |
R마크다운에서 목차를 추가하는 방법은 무엇입니까? (0) | 2023.06.06 |