• 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)来重置。

  • 相关阅读:
    记录我在实际项目中针对微服务特性做的一些测试
    爬虫 — Scrapy-Redis
    一文带你了解怎样快速上手微信小程序开发
    mkcert 学习笔记
    windows本地搭建mmlspark分布式机器平台流程
    每日一练-Q1-大数加法-20231001
    【Python爬虫】过来人告诉你:为什么找工作抓住这个细节,能少踩很多坑哦~(招聘网站实战)
    LeetCode允许重复选择元素的组合
    几种回调的对比
    Day10—Spark SQL基础
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/127569027