Udostępnij za pośrednictwem


setbuf

Formanty buforowanie strumienia.Funkcja ta została zaniechana; Użyj setvbuf zamiast.

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

Parametry

  • stream
    Wskaźnik, aby FILE struktury.

  • buffer
    Bufor przydzielone przez użytkownika.

Uwagi

setbuf Działają formanty buforowania dla stream.stream Argument musi odwoływać się do otwartego pliku, który nie odczytu lub zapisu.Jeśli buffer argument jest NULL, strumień jest un-buffered.Jeśli nie, bufor musi wskazywać tablicy znaków długości BUFSIZ, gdzie BUFSIZ jest rozmiar buforu, zdefiniowany w STDIO.H.Bufor określony przez użytkownika zamiast buforu przydzielona przez system domyślny dla danego strumienia jest używany dla we/wy buforowania.stderr Strumień jest un-buffered domyślnie, ale można użyć setbuf przydzielić buforów do stderr.

setbufzostał zastąpiony przez setvbuf, który jest preferowany rutynowych dla nowego kodu.setbufjest zachowywana zgodność z istniejącym kodem.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

setbuf

<stdio.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

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

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

We/Wy strumienia

fclose, _fcloseall

fflush

fopen, _wfopen

setvbuf