zoukankan      html  css  js  c++  java
  • setvbuf

    函数名: setvbuf

    用 法: int setvbuf(FILE *stream, char *buf, int type, unsigned size);
    type : 期望缓冲区的类型:
    _IOFBF(满缓冲):当缓冲区为空时,从流读入数据。或者当缓冲区满时,向流写入数 据。
    _IOLBF(行缓冲):每次从流中读入一行数据或向流中写入一行数据。
    _IONBF(无缓冲):直接从流中读入数据或直接向流中写入数据,而没有缓冲区。
    size : 缓冲区内字节的数量。
    注意:This function should be called once the file associated with the stream has already been opened but before any input or output operation has taken place.
    意思是这个函数应该在打开流后,立即调用,在任何对该流做输入输出前

    程序例编辑

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include <stdio.h>
     
    int main()
    {
        FILE *input, *output;
        char bufr[512];
        input = fopen("file.in""r+b");
        output = fopen("file.out""w");
        /* set up input stream for minimal disk access,
        using our own character buffer */
        if (setvbuf(input, bufr, _IOFBF, 512) != 0)
            printf("failed to set up buffer for input file ");
        else
            printf("buffer set up for input file ");
        /* set up output stream for line buffering using space that
        will be obtained through an indirect call to malloc */
        if (setvbuf(output, NULL, _IOLBF, 132) != 0)
            printf("failed to set up buffer for output file ");
        else
            printf("buffer set up for output file ");
        /* perform file I/O here */
        /* close files */
        fclose(input);
        fclose(output);
        return 0;
    }
  • 相关阅读:
    Android不规则瀑布流照片墙的实现+LruCache算法
    嵌入式OS入门笔记-以RTX为案例:六.RTX的任务调度
    Oracle backgroup processes
    Android中数据库的操作流程详解
    Dreamweaver PHP代码护眼配色方案
    Twitter 新一代流处理利器——Heron 论文笔记之Heron架构
    Docker简单介绍
    C#下使用GDAL
    Android:实现仿 美团/淘宝 多级分类菜单效果
    KVC在定义Model类中的妙用
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4955894.html
Copyright © 2011-2022 走看看