• Unix高级编程之标准IO


    c标准io---带缓存的io

    优势:
    带缓存(合并系统调用)
    缺点:
    实时性低
    缓存的类型:
    行缓存:stdin stdout(缓存区是有大小)
    全缓存:文件
    无缓存:stderr

    1.流
    打开文件的标识

    2.FILE类型
    结构体类型:
    文件描述符
    缓存区的地址
    缓存的大小


    出错标识

    3.流的打开
    fopen(3);

    errno全局变量
    定义的宏:
    /usr/include/asm-generic/errno-base.h
    /usr/include/asm-generic/errno.h
    strerror(3);
    perror(3);


    4.流的操作(读写)
    <1>字节
    fgetc();/fputc();
    getchar();/putchar();
    getc();/putc();
    <2>按行
    fgets();/fputs();
    gets();/puts();
    <3>二进制
    fread();/fwirte();
    <4>格式化
    fscanf();/fprintf();
    scanf();/printf();

    5.流的定位
    fseek();
    ftell();
    rewind();

    6.流的关闭
    fclose(3);

    7.流的刷新
    fflush(3);

    8.临时文件
    tmpnam();//了解
    tmpfile();//掌握

    9.io效率
    讨论的不是缓存大小的影响
    标准io在调用fopen()时就已经创建缓存区
    优先选择:
    fgets();/fputs();
    fread();/fwrite();
    10.
    setbuf();
    setvbuf();

    作业:
    将一个文件的第5行的最开始加入一个字符串"uplooking"

    有时候,不小心知道了一些事,才发现自己所在乎的事是那么可笑。
  • 相关阅读:
    程序员的健康问题
    比特币解密
    浅谈比特币
    一款能帮助程序员发现问题的软件
    微软为什么总招人黑?
    写了一个bug,最后却变成了feature,要不要修呢?
    不管你信不信,反正我信了
    Excel工作表密码保护的破解
    pip笔记(译)
    super
  • 原文地址:https://www.cnblogs.com/axjlxy/p/5859935.html
Copyright © 2020-2023  润新知