Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

setvbuf - Ein-/Ausgabe-Puffer einrichten

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

int setvbuf(FILE *dz, char *puffer, int typ, size_t anz);

setvbuf legt einen Speicherbereich für die Datei mit Dateizeiger dz an. Dieser Speicherbereich wird dann an Stelle des vom System zugewiesenen Bereichs zur Pufferung der Ein-/ Ausgabedaten verwendet.

Der Dateizeiger dz muss auf eine bereits geöffnete Datei zeigen, für die noch keine Lese- bzw. Schreibfunktion durchgeführt wurde.

Parameter

FILE *dz

Dateizeiger der Datei, für die ein Ein-/Ausgabepuffer bereitgestellt werden soll.

char *puffer

Zeiger auf den Bereich, der als Puffer verwendet werden soll oder NULL.

Ist das Argument ein NULL-Zeiger, wird der vom System zugewiesene Puffer verwendet.

int typ

Pufferungstyp der Datei. Dieser Parameter wird nur syntaktisch überprüft und ansonsten ignoriert. Er muss einen der folgenden vordefinierten Werte enthalten:

_IOFBF (Vollpufferung) _IOLBF (zeilenweise Pufferung) _IONBF (keine Pufferung, nicht unterstützt)

Der Pufferungstyp ist durch die Art der Datei festgelegt und kann nicht vom Benutzer verändert werden: Textdateien sind zeilengepuffert, d.h. die Daten werden bei Auftritt eines Neue-Zeile- Zeichens (\n) in die Datei geschrieben. Binärdateien sind vollgepuffert, d.h. die Daten werden in die Datei geschrieben, wenn der Puffer voll ist. Eine ungepufferte Ein-/Ausgabe wird nicht unterstützt.

size_t size

Größe des bereitgestellten Puffers in Bytes.

Returnwert 

0

wenn die Funktion setvbuf erfolgreich ausgeführt wurde.

 

!= 0

wenn ein (syntaktisch) ungültiger Wert für typ übergeben wurde oder die Funktion nicht ausgeführt werden kann.

Hinweis

Der Zeiger puffer muss für eine Datei mit Standardattributen auf einen Bereich der Größe BUFSIZ zeigen. BUFSIZ ist in <stdio.h> definiert.
Wird der Blockungsfaktor mit dem BUFFER-LENGTH-Parameter des ADD-FILE-LINK-Kommandos explizit vereinbart, muss die Größe des Bereichs dieser vereinbarten Blokkungsgröße entsprechen.

Siehe auch

setbuf