Ц ++ сетвбуф () - Ц ++ стандардна библиотека

Функција сетвбуф () у језику Ц ++ користи се за промену или специфицирање режима баферирања и величине бафера.

прототип сетвбуф ()

 инт сетвбуф (ФИЛЕ * ток, цхар * бафер, инт режим, сизе_т сизе);

setvbuf()Функција мења пуферски режим датог фајла потока у вредности од режима.

Ако бафер није нулл, величина бафера је величина, у супротном функција аутоматски додељује бафер (на основу вредности величине).

Дефинисано је у заглављу датотеке.

параметри сетвбуф ()

  • ток: ток датотека.
  • бафер: показивач на бафер који ће користити ток.
  • режим: режим пуферирања. Типови начина пуферирања су:
    • _ИОФБФ: потпуно баферисање
    • _ИОЛБФ: баферисање линије
    • _ИОНБФ: нема међуспремника
  • величина: величина бафера у бајтовима.

сетвбуф () Повратна вредност

На setvbuf()функција враћа нулу на успеху и нуле на неуспех.

Пример: Како функционише функција сетвбуф ()

 #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; )

Када покренете програм, излаз ће бити:

… Ово је други ред Ово је први ред Ово је други ред

Занимљиви Чланци...