亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[Linux流操作]查看三種標準流的緩沖方式

發布時間:2020-07-05 23:22:20 來源:網絡 閱讀:624 作者:銀河星君 欄目:編程語言
#include <stdio.h>
#include <stdlib.h>
#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錯誤
        {
                perror("getchar error");
        }
        fputs("one line to standard error\n", stderr);

        pr_stdio("stdin",  stdin);
        pr_stdio("stdout", stdout);
        pr_stdio("stderr", stderr);   //輸出相應的緩沖類型
                perror("fopen error");
        if (getc(fp) == EOF)
                perror("getc error");
        pr_stdio("/etc/motd", fp);
        exit(0);
}
//緩沖輸出函數
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));
}



//這是一個分別打印三個標準流和一個文件流
//的緩沖方式的應用實例
#include <stdio.h>
#include <stdlib.h>

#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(int argc,char *argv[])
{
  FILE  *fp;   //流文件結構指針
  pr_stdio("stdin",  stdin);    //標準輸入
  pr_stdio("stdout", stdout);   //標準輸出
  pr_stdio("stderr", stderr);   //標準出錯處理
  printf("fopen error");
  if (getc(fp) == EOF)
  {
    printf("getc error\n");
  }      
  return 0;
}
//測試緩沖輸出函數
void  pr_stdio(const char *name, FILE *fp)
{   
  printf("當前流是%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(", 緩沖區大小 = %ld\n", BUFFERSZ(fp));
  return;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和顺县| 德江县| 晴隆县| 城市| 陇西县| 闸北区| 南城县| 无极县| 巴塘县| 庐江县| 渭南市| 兴隆县| 衢州市| 岗巴县| 西青区| 永嘉县| 韶山市| 綦江县| 通海县| 鹤庆县| 武威市| 亚东县| 马尔康县| 定结县| 三台县| 西林县| 宜昌市| 南丰县| 米泉市| 临武县| 锡林浩特市| 澜沧| 六枝特区| 慈利县| 辉南县| 日喀则市| 咸丰县| 辽宁省| 喜德县| 读书| 郑州市|