setbuf
Kontrollenstreampufferung. Diese Funktion ist veraltet; Verwenden Sie stattdessen setvbuf.
void setbuf(
FILE *stream,
char *buffer
);
Parameter
stream
Zeiger zur FILE-Struktur.buffer
Benutzer-zugeordneter Puffer.
Hinweise
Die setbuf-Funktion steuert Pufferung für stream. Das stream-Argument muss eine geöffnete Datei verweisen, die nicht gelesen wurde oder geschrieben wurde. Wenn das Argument bufferNULL ist, ist der Stream ungepuffert. Wenn nicht, muss der Puffer für ein Zeichenarray der Länge BUFSIZ veranschaulichen, in der BUFSIZ die Puffergröße ist, wie in STDIO.H. definiert. Der vom Benutzer angegebene, Puffer anstelle des standardmäßigen System-zugeordneten Puffers für den jeweiligen Stream, wird für E/A-Pufferung verwendet. Der Stream stderr ist standardmäßig ungepuffert, doch Sie können setbuf verwenden, um Puffer stderr zuzuweisen.
setbuf wurde durch die setvbuf ersetzt, das die bevorzugte Routine für neuen Code ist. setbuf wird für die Kompatibilität mit vorhandenem Code beibehalten.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
setbuf |
<stdio.h> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.