setbufsetbuf

스트림 버퍼링을 제어합니다.Controls stream buffering. 이 함수는 사용되지 않습니다. 대신 setvbuf를 사용하세요.This function is deprecated; use setvbuf instead.

구문Syntax

void setbuf(
   FILE *stream,
   char *buffer
);

매개 변수Parameters

스트림 에 대 한 포인터 파일 구조입니다.stream Pointer to FILE structure.

버퍼 사용자가 할당 한 버퍼입니다.buffer User-allocated buffer.

설명Remarks

setbuf 함수에 대 한 버퍼링을 제어 스트림합니다.The setbuf function controls buffering for stream. 스트림 인수가 되지 읽거나 쓰지 않은 열려 있는 파일을 참조 해야 합니다.The stream argument must refer to an open file that has not been read or written. 경우는 버퍼 인수가 NULL, 스트림은 버퍼링 되지 않습니다.If the buffer argument is NULL, the stream is un-buffered. 버퍼의 길이 문자 배열 가리켜야 그렇지 않은 경우 BUFSIZ여기서 BUFSIZ STDIO에 정의 된 대로 버퍼 크기입니다. 8.If not, the buffer must point to a character array of length BUFSIZ, where BUFSIZ is the buffer size as defined in STDIO.H. 지정된 스트림에 대한 기본 시스템 할당 버퍼 대신 사용자 지정 버퍼가 I/O 버퍼링에 사용됩니다.The user-specified buffer, instead of the default system-allocated buffer for the given stream, is used for I/O buffering. stderr 기본적으로 스트림은 버퍼링 되지 않습니다 되지만 사용할 수 있습니다 setbuf 버퍼를 할당 하려면 stderr합니다.The stderr stream is un-buffered by default, but you can use setbuf to assign buffers to stderr.

setbuf 로 대체 되었습니다 setvbuf, 새 코드에 대 한 기본 설정된 루틴인 변수인 합니다.setbuf has been replaced by setvbuf, which is the preferred routine for new code. setbuf 기존 코드와 호환성을 위해 유지 됩니다.setbuf is retained for compatibility with existing code.

요구 사항Requirements

루틴Routine 필수 헤더Required header
setbufsetbuf <stdio.h><stdio.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.For additional compatibility information, see Compatibility.

예제Example

// crt_setbuf.c
// compile with: /W3
// This program first opens files named DATA1 and
// DATA2. Then it uses setbuf to give DATA1 a user-assigned
// buffer and to change DATA2 so that it has no buffer.

#include <stdio.h>

int main( void )
{
   char buf[BUFSIZ];
   FILE *stream1, *stream2;

   fopen_s( &stream1, "data1", "a" );
   fopen_s( &stream2, "data2", "w" );

   if( (stream1 != NULL) && (stream2 != NULL) )
   {
      // "stream1" uses user-assigned buffer:
      setbuf( stream1, buf ); // C4996
      // Note: setbuf is deprecated; consider using setvbuf instead
      printf( "stream1 set to user-defined buffer at: %Fp\n", buf );

      // "stream2" is unbuffered
      setbuf( stream2, NULL ); // C4996
      printf( "stream2 buffering disabled\n" );
      _fcloseall();
   }
}
stream1 set to user-defined buffer at: 0012FCDC
stream2 buffering disabled

참고자료See also

스트림 I/OStream I/O
fclose, _fcloseallfclose, _fcloseall
fflushfflush
fopen, _wfopenfopen, _wfopen
setvbufsetvbuf