, 내가 입력 할 수 STDOUT에 인쇄autoflush에 해당하는 C (각 쓰기 후에 표준 시간대 플러시)? 펄에서
$|++;
아무것도 자동 FFLUSH() 에드 될 것입니다.
C에 해당하는 항목이 있습니까? 다른 말로하면, stdio가 자동으로 stdout을 수행 할 때마다 printf()를 호출 한 후 stderr을 자동으로 플러시하는 방법이 있습니까?
, 내가 입력 할 수 STDOUT에 인쇄autoflush에 해당하는 C (각 쓰기 후에 표준 시간대 플러시)? 펄에서
$|++;
아무것도 자동 FFLUSH() 에드 될 것입니다.
C에 해당하는 항목이 있습니까? 다른 말로하면, stdio가 자동으로 stdout을 수행 할 때마다 printf()를 호출 한 후 stderr을 자동으로 플러시하는 방법이 있습니까?
시도 setvbuf(stdout, NULL, _IONBF, 0)
. stdout
을 버퍼링되지 않은 (_IONBF
) 모드로 변경합니다.
setbuf() 및 setvbuf()를 살펴보십시오.
이 작업을 수행하지는 않았지만 _IOLBF가 올바른 대답이었습니다.
$ 남자 setvbuf사용법
사용법 #include <STDIO.H>
int setvbuf(FILE *restrict stream, char *restrict buf, int type,
size_t size);
설명
setvbuf에 버퍼링을 할당() 함수는 stream이 가리키는 스트림이 open 파일이지만 다른 작업 (setvbuf()에 대한 실패한 호출 제외)은 스트림에서 수행됩니다. 인수 유형은 다음과 같이 스트림을 버퍼링하는 방법을 결정합니다.
* {_IOFBF} shall cause input/output to be fully buffered.
* {_IOLBF} shall cause input/output to be line buffered.
* {_IONBF} shall cause input/output to be unbuffered.