• 标准I/o编程


      串口应用编程的I/O读写是基于文件描述符的。这些都是基本的I/o控制,是不带缓存的。而本节所要讨论的I/O操作都是基于流缓冲的,它是符合ANSI C的标准I/O处理。

      标准I/O提供流缓冲的目的是尽可能减少使用read()和write()等系统调用的的数量。标准I/O提供了3中类型的缓冲存储。

      1.全缓冲:在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。

          2.行缓冲:在这种情况下,当在输入和输出中遇到行结束符时,标准I/O库执行I/O操作。标准输入和标准输出就是使用行缓冲的典型例子。

      3.不带缓冲:标准I/O库不对字符进行缓冲。如果用标准I/O函数写若干字符到不带缓冲的流中,则相当于用系统调用write()函数将这些字符全写到被打开的文件上。标准出错stderr通常是不带缓冲的,这就使得出错信息可以尽快显示出来。

    基本操作:

      1.打开文件:fopen() fdopen() freopen() 它们可以不同的模式打开,但都返回一个指向FILE的指针,该指针指向对应的I/O流。此后,对文件的读写都是通过这个FILE指针来进行的。

            fopen()   函数可以指定打开文件的路径和模式

        fdopen() 可以指定打开的文件描述符和模式

        freopen()除了可以指定打开的文件、模式外,还可指定特定的I/O流。

      2.关闭文件  fclose()     int fclose(FILE* stream);

      3.读文件   fread()  size_t fread(void *ptr,size_t size, size_t nmemb, FILE* stream);

      4.写文件   fwrite() size_t fwrite(const void *ptr,size_t size, size_t nmemb, FILE *stream);

      

  • 相关阅读:
    Megcup 2017 决赛第一题 规则
    折正方体-------------给你出道题
    论公平
    Vue 将一个组件嵌入到另一个组件中
    Vue下的index.html
    Vue下的package.json
    Vue 一些用法
    chkconfig 系统服务管理
    Windows和Linux下的 telnet命令 不是内部或外部命令的解决方案
    JSONPlaceholder
  • 原文地址:https://www.cnblogs.com/wiessharling/p/2866382.html
Copyright © 2020-2023  润新知