Funktsiooni setvbuf () kaustas C ++ kasutatakse puhverrežiimi ja puhvri suuruse muutmiseks või määramiseks.
setvbuf () prototüüp
int setvbuf (FILE * voog, char * puhver, int-režiim, size_t size);
setvbuf()
Funktsioon muudab puhverdamine režiimis antud file stream väärtuses režiimis.
Kui puhver pole null, on puhvri suurus suurus, vastasel juhul eraldab funktsioon automaatselt puhvri (suuruse väärtuse põhjal).
See on määratletud päisefailis.
setvbuf () parameetrid
- voog: failivoog.
- puhver: voos kasutatava puhvri kursor.
- režiim: puhverdamisrežiim. Puhverrežiimide tüübid on järgmised:
- _IOFBF: täielik puhverdamine
- _IOLBF: liini puhverdamine
- _IONBF: pole puhverdamist
- suurus: puhvri suurus baitides.
setvbuf () Tagastusväärtus
setvbuf()
Tagastab funktsioon null edu ja null jätmise kohta.
Näide: funktsiooni setvbuf () tööpõhimõte
#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; )
Programmi käivitamisel on väljund järgmine:
… See on teine rida See on esimene rida See on teine rida