zoukankan      html  css  js  c++  java
  • 缓冲式I/O

    #include <stdio.h>

    int main(){
    FILE* file;
    char buf[1024], ch;

    file = fopen("test", "r+");//打开文件

    //设置缓存
    setvbuf(file, buf, _IOFBF, sizeof(buf));

    fgets(buf, sizeof(buf), file);//读取一整行
    ch = fgetc(file);//读取单个字符
    ungetc(ch, file);//把一个字符放回流中
    fread(buf, 1, 5, file);//读取二进制数据
    fwrite(buf, 1, 5, file);//写入二进制数据
    fputc('g', file);//写入一个字符
    fputs("ggzwtj", file);//写入一个字符串

    //跳转之fseek
    fseek(file, 0, SEEK_SET);
    fgets(buf, sizeof(buf), file);
    puts(buf);

    //初始为开始位置
    rewind(file);

    //取得当前流的位置
    printf("%ld\n", ftell(file));

    //刷新一个流,保证内容写入内核
    fflush(file);

    //锁定(解锁,尝试锁)文件
    flockfile(file);
    ftrylockfile(file);
    funlockfile(file);

    //取得文件的描述符
    printf("%d\n", fileno(file));

    fcloseall();
    return 0;
    }

  • 相关阅读:
    small case change m and n
    关于闭包
    如何让IE兼容css3属性?
    全屏滚动插件
    bind()&call()&apply()的区别?
    nodejs和npm的关系
    数据库面试题整理
    微机原理复习整理
    软件工程复习整理
    leetcode字符串系列
  • 原文地址:https://www.cnblogs.com/ggzwtj/p/2205046.html
Copyright © 2011-2022 走看看