setbufsetbuf

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

구문Syntax

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

매개 변수Parameters

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

bufferbuffer
사용자가 할당한 버퍼입니다.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