Funkcija setvbuf () C ++ naudojama pakeisti arba nurodyti buferio režimą ir buferio dydį.
setvbuf () prototipas
int setvbuf (FILE * stream, char * buffer, int mode, size_t size);
setvbuf()Funkcija keičia buferinė režimą tikro failo srautas į režimu vertės.
Jei buferis nėra nulinis, buferio dydis yra dydis, kitaip funkcija automatiškai paskirsto buferį (atsižvelgiant į dydžio vertę).
Tai apibrėžta antraštės faile.
setvbuf () parametrai
- srautas: failų srautas.
 - buferis: srauto naudojamas buferio žymeklis.
 - režimas: buferio režimas. Buferio režimų tipai yra šie:
- _IOFBF: visas buferis
 - _IOLBF: linijos buferis
 - _IONBF: nėra buferio
 
 - dydis: buferio dydis baitais.
 
setvbuf () Grąžinimo vertė
Į setvbuf()funkcija grąžina nulį, sėkmės ir nulio dėl gedimo.
Pavyzdys: Kaip veikia setvbuf () funkcija
 #include #include #define SIZE 1024 using namespace std; int main() ( char buffer(SIZE) = "… "; char str() = "This is first lineThis is second line"; FILE *fp = fopen("test.txt","wb+"); /* no buffering, buffer remains unchanged */ setvbuf(fp,buffer,_IONBF,SIZE); fwrite(str, sizeof(str), 1, fp); cout << buffer << endl; /* line buffering, only a single line is buffered */ setvbuf(fp,buffer,_IOLBF,SIZE); fwrite(str, sizeof(str), 1, fp); cout << buffer << endl; /* full buffering, all the contents are buffered */ setvbuf(fp,buffer,_IOFBF,SIZE); fwrite(str, sizeof(str), 1, fp); cout << buffer << endl; fclose(fp); return 0; )
Kai paleisite programą, išvestis bus:
… Tai yra antroji eilutė Tai yra pirmoji eilutė Tai yra antroji eilutė








