setbuf
Steuerelemente datenstrom pufferbetrieb.Diese Funktion ist veraltet. Verwenden Sie stattdessen setvbuf .
void setbuf(
FILE *stream,
char *buffer
);
Parameter
stream
Zeiger auf FILE Struktur.buffer
USER-zugeordneter Puffer.
Hinweise
Die setbuf-Funktion steuert die Pufferung für stream.Das stream-Argument muss eine offene Datei verweisen, die nicht gelesen oder geschrieben wurde.Wenn das Argument bufferNULList, wird der Stream ungepuffert.Wenn dies nicht der Fall ist, muss sich der Puffer in ein Zeichenarray der Länge BUFSIZveranschaulichen, 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 angegebenen Datenstream, wird für E/A-Pufferbetrieb verwendet.Der stderr Stream ist standardmäßig ungepuffert, aber Sie können setbuf verwenden, um Puffer zuweisen stderr.
setbuf wurde durch setvbufersetzt, das die bevorzugte Routine für den neuen Code ist.setbuf wird aus Gründen der Kompatibilität mit vorhandenem Code beibehalten.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
setbuf |
<stdio.h> |
Um Kompatibilität zusätzlichen Informationen 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. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.