C ++ setbuf () - C ++ standardraamatukogu

Funktsioon setbuf () C ++ -s määrab sisemise puhvri, mida voog I / O-toiminguteks kasutada.

setbuf () prototüüp

 void setbuf (FILE * voog, char * puhver);

Kui puhver pole null, on see samaväärne setvbufi (voog, puhver, _IOFBF, BUFSIZ) kutsumisega.

Kui puhver on null, on see samaväärne kutsumisega setvbuf (voog, NULL, _IONBF, 0). Sel juhul on puhverdamine välja lülitatud.

See on määratletud päisefailis.

setbuf () parameetrid

  • voog: failivoog.
  • puhver: viide puhvrile, mis võib olla null või mitte. Kui see on null, on puhverdamine välja lülitatud, vastasel juhul peaks see olema vähemalt BUFSIZ baiti.

setbuf () Tagastusväärtus

Puudub

Allpool toodud kaks näidet illustreerivad funktsiooni setbuf () kasutamist. Mõlemad programmid kasutavad failide kasutamist. Esimeses näites on puhver seatud faili sisu sisemiseks salvestamiseks setbuf () abil.

Järgmises näites setbuf(fp, NULL)lülitab lause puhverdamise välja. Nii et faili sisu lugemiseks kasutatakse faili fread ().

Näide 1: funktsiooni setbuf () tööpõhimõte

 #include #include using namespace std; int main () ( char str() = "Buffered Stream"; char buffer(BUFSIZ); FILE *fp; fp=fopen ("test.txt","wb"); setbuf(fp,buffer); fwrite(str, sizeof(str), 1, fp); fflush(fp); fclose(fp); cout << buffer; return 0; )

Programmi käivitamisel on väljund järgmine:

 Puhverdatud voog

Näide 2: funktsioon setbuf (), mille puhverdamine on välja lülitatud

 #include #include using namespace std; int main () ( char str() = "Unbuffered Stream"; char strFromFile(20); FILE *fp; fp=fopen ("test.txt","wb+"); setbuf(fp,NULL); fwrite(str, sizeof(str), 1, fp); fflush(fp); /* We need to rewind the file pointer and read the file because the data from test.txt isn't saved in any buffer */ rewind(fp); fread(strFromFile, sizeof(strFromFile), 1, fp); fclose(fp); cout << strFromFile; return 0; )

Programmi käivitamisel on väljund järgmine:

 Pakkimata voog

Huvitavad Artiklid...