Sdílet prostřednictvím


setbuf

Ovládací prvky vyrovnávací paměti datového proudu.Tato funkce se již nepoužívá; použít setvbuf místo.

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

Parametry

  • stream
    Ukazatel na FILE struktury.

  • buffer
    Vyrovnávací paměť uživateli přidělena.

Poznámky

setbuf Funkci řídí ukládání do vyrovnávací paměti pro stream.stream Argument musí odkazovat na Otevřít soubor, který byl číst nebo zapisovat.Pokud buffer argument je NULL, je un-buffered proudu.Pokud není, vyrovnávací paměti musí odkazovat na pole znaků dlouhé BUFSIZ, kde BUFSIZ je velikost vyrovnávací paměti, definovaná v STDIO.H.Uživatelem zadané vyrovnávací namísto výchozí vyrovnávací systém přidělené pro daný datový proud se používá pro I/O ukládání do vyrovnávací paměti.stderr Proudu je un-buffered ve výchozím nastavení však můžete použít setbuf pro přidělení vyrovnávací paměti pro stderr.

setbufbyl nahrazen setvbuf, což je upřednostňovaný rutina pro nový kód.setbufje zachována kompatibilita s existující kód.

Požadavky

Rutina

Požadované záhlaví

setbuf

<stdio.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

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

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

I/O proudu

fclose, _fcloseall

fflush

fopen, _wfopen

setvbuf