函數(shù)名: setvbuf
頭文件:<stdio.h>
函數(shù)原型: int setvbuf(FILE *stream, char *buf, int type, unsigned size);
功 能: 把緩沖區(qū)與流相關(guān)
參數(shù): FILE *stream 要關(guān)聯(lián)的流
char *buf 要相關(guān)聯(lián)的緩沖區(qū)
int type 關(guān)聯(lián)的類型
unsigned size 關(guān)聯(lián)的大小
返回值:成功 返回0 ,失敗 返回非0
程序例: 將緩沖區(qū)與流實現(xiàn)指定大小,指定類型的關(guān)聯(lián)
#include<stdio.h> int main(void){ char bufr[512]; FILE *input = fopen("file.in", "rb+"); if(!input){ printf("can not open the file\n"); } FILE *output = fopen("file.out", "w"); if(!output){ printf("can not open the file\n"); } if (setvbuf(input, bufr, _IOFBF, 512)){ printf("failed to set up buffer for input file\n"); }else{ printf("buffer set up for input file\n"); } if (setvbuf(output, NULL, _IOLBF, 512)) { printf("failed to set up buffer for output file\n"); }else{ printf("buffer set up for output file\n"); } fclose(input); fclose(output); return 0; }
運(yùn)行結(jié)果
can not open the file failed to set up buffer for input file buffer set up for output file
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程