setbuf

Denetim akışı arabelleğe kaydetme açık.Bu işlev kaldırılmıştır; kullanmak setvbuf yerine.

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

Parametreler

  • stream
    İşaretçi FILE yapısı.

  • buffer
    Kullanıcı tarafından ayrılmış arabellek.

Notlar

setbuf İçin arabelleğe alma denetimleri işlev stream.stream Bağımsız değişkeni, okuma yazma veya açık bir dosyayı başvurmalıdır.buffer Bağımsız değişkeni NULL, un-buffered akışıdır.Arabellek uzunluğu karakter dizisi göstermelidir değil, BUFSIZ, BUFSIZ STDIO içinde tanımlandığı şekilde arabellek boyutudur.H.Kullanıcı tarafından belirtilen arabellek verilen akışı için varsayılan sistem tarafından ayrılmış arabellek yerine g/Ç için kullanılan arabellek.stderr Akışı varsayılan olarak un-buffered ancak kullanabilirsiniz setbuf arabellek atamak için stderr.

setbufalmıştır setvbuf, yeni kodu için tercih edilen yordamı olduğu.setbufVarolan kodu ile uyumluluk için korunur.

Gereksinimler

Yordamı

Gerekli başlık

setbuf

<stdio.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// 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();
   }
}
  

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Akış G/Ç

fclose, _fcloseall

fflush

fopen, _wfopen

setvbuf