programing

C에서 stdout의 버퍼링을 해제하는 방법

bestprogram 2023. 6. 6. 10:24

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