• C++ Reference: Standard C++ Library reference: C Library: cstdio


    C++官网参考链接:https://cplusplus.com/reference/cstdio/

    头文件 
    <cstdio> (stdio.h)
    C库执行输入/输出操作
    输入和输出操作也可以在C++中使用C标准输入和输出库(cstdio,在C语言中称为stdio.h)来执行。这个库使用所谓的流来操作物理设备,如键盘、打印机、终端或系统支持的任何其他的文件类型。流是以统一的方式与这些交互的抽象;所有流都具有类似的属性,独立于它们所关联的物理媒体的单个特征。
    流在cstdio库中作为指向FILE对象的指针进行处理。指向FILE对象的指针唯一地标识一个流,并在涉及该流的操作中用作形参。
    还有三种标准流:stdinstdoutstderr,它们会自动创建并为使用标准库的所有程序打开。

    流属性
    流具有一些属性,这些属性定义了可以在它们上使用哪些函数,以及这些函数将如何处理通过它们输入或输出的数据。这些属性中的大多数都是在使用fopen函数将流与文件(打开)关联时定义的:
    读/写访问
    指定流是否具有对其关联的物理媒体的读或写访问权(或两者都有)。 
    文本/二进制
    文本流被认为代表一组文本行,每一行以一个换行字符结束。根据运行应用程序的环境,文本流可能会发生一些字符转换,以使某些特殊字符适应环境的文本文件规范。另一方面,二进制流是从物理媒体中写入或读取的字符序列,无需转换,与读取或写入流的字符具有一一对应关系。
    缓冲
    缓冲区是一个内存块,在对相关文件或设备进行物理读写之前,在这里积累数据。流可以是完全缓冲的,行缓冲的或无缓冲的。在完全缓冲的流上,数据在缓冲区被填满时被读/写,在行缓冲流上,这发生在遇到换行字符时,而在无缓冲流上,字符被尽可能快地读/写。
    方向
    在打开时,流没有方向。一旦对它们执行了输入/输出操作,它们就会变成面向字节或面向宽字符的,这取决于所执行的操作(通常,中定义的函数是面向字节的,而中定义的函数是面向宽字符的)。更多信息请参见cwchar

    指示符 
    流有特定的内部指示符,用于指定它们的当前状态,并影响对它们执行的某些输入和输出操作的行为:
    错误指示符 
    当与流相关的操作发生错误时设置此指示符。这个指示符可以用ferror函数检查,并且可以通过调用clearerrfreopenrewind来重置。 
    文件结束指示符
    设置此值时,表示对流执行的最后一次读写操作已到达文件结束。它可以用feof函数检查,并可以通过调用clearerrfreopen或调用任何重新定位函数(rewindfseekfsetpos)来重置。

  • 相关阅读:
    从零开始学前端:DOM、BOM、表单事件、事件捕获 --- 今天你学习了吗?(JS:Day16)
    JavaSE---栈和队列
    利用QGIS采集卫星图上的建筑并转成矢量数据
    vue中provide和inject的使用
    使用Hbuilder将vue项目封装为移动端安装包(apk)
    阿里笔试——总结2
    opensmile python 提取wav文件的IS09特征
    数据结构与算法(四):双向链表
    AOP原理分析《二》- 如何开启AOP功能
    Java 函数式接口、lambda表达式、初识Stream
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/127569027