重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
#include#include #if defined(MACOS) #define _IO_UNBUFFERED __SNBF #define _IO_LINE_BUF __SLBF #define _IO_file_flags _flags #define BUFFERSZ(fp) (fp)->_bf._size #else #define BUFFERSZ(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base) #endif void pr_stdio(const char *, FILE *); int main(void) { FILE *fp; printf("pls enter some str\n"); //提示輸入部分字符 if (getchar() == EOF) //如果EOF錯(cuò)誤 { perror("getchar error"); } fputs("one line to standard error\n", stderr); pr_stdio("stdin", stdin); pr_stdio("stdout", stdout); pr_stdio("stderr", stderr); //輸出相應(yīng)的緩沖類型 perror("fopen error"); if (getc(fp) == EOF) perror("getc error"); pr_stdio("/etc/motd", fp); exit(0); } //緩沖輸出函數(shù) void pr_stdio(const char *name, FILE *fp) { printf("stream = %s, ", name); //打印緩沖名稱 if (fp->_IO_file_flags & _IO_UNBUFFERED) printf("unbuffered"); else if (fp->_IO_file_flags & _IO_LINE_BUF) printf("line buffered"); else /* if neither of above */ printf("fully buffered"); printf(", buffer size = %ld\n", BUFFERSZ(fp)); }
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供尋烏企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為尋烏眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
//這是一個(gè)分別打印三個(gè)標(biāo)準(zhǔn)流和一個(gè)文件流 //的緩沖方式的應(yīng)用實(shí)例 #include#include #if defined(MACOS) #define _IO_UNBUFFERED __SNBF #define _IO_LINE_BUF __SLBF #define _IO_file_flags _flags #define BUFFERSZ(fp) (fp)->_bf._size #else #define BUFFERSZ(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base) #endif //以上是關(guān)于緩沖方式和緩沖區(qū)大小的預(yù)定義 void pr_stdio(const char *, FILE *); //子函數(shù)聲明 int main(int argc,char *argv[]) { FILE *fp; //流文件結(jié)構(gòu)指針 pr_stdio("stdin", stdin); //標(biāo)準(zhǔn)輸入 pr_stdio("stdout", stdout); //標(biāo)準(zhǔn)輸出 pr_stdio("stderr", stderr); //標(biāo)準(zhǔn)出錯(cuò)處理 printf("fopen error"); if (getc(fp) == EOF) { printf("getc error\n"); } return 0; } //測(cè)試緩沖輸出函數(shù) void pr_stdio(const char *name, FILE *fp) { printf("當(dāng)前流是%s, ", name); //打印流的名稱 if (fp->_IO_file_flags & _IO_UNBUFFERED) { printf("無緩沖\n"); } else if (fp->_IO_file_flags & _IO_LINE_BUF) { printf("行緩沖\n"); } else { printf("全緩沖\n"); } printf(", 緩沖區(qū)大小 = %ld\n", BUFFERSZ(fp)); return; }