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

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

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

指示符 
流有特定的内部指示符,用于指定它们的当前状态,并影响对它们执行的某些输入和输出操作的行为:
错误指示符 
当与流相关的操作发生错误时设置此指示符。这个指示符可以用ferror函数检查,并且可以通过调用clearerr,freopen或rewind来重置。 
文件结束指示符
设置此值时,表示对流执行的最后一次读写操作已到达文件结束。它可以用feof函数检查,并可以通过调用clearerr或freopen或调用任何重新定位函数(rewind,fseek和fsetpos)来重置。
位置指示符
它是每个流的内部指针,指向下一个I/O操作中要读或写的字符。它的值可以通过ftell和fgetpos函数获得,并可以通过重新定位函数rewind,fseek和fsetpos进行更改。

函数 
在文件上的操作: 
remove    Remove file (function) (删除文件(函数)) 
rename    Rename file (function) (重命名文件(函数)) 
tmpfile    Open a temporary file (function) (打开一个临时文件(函数)) 
tmpnam    Generate temporary filename (function) (生成临时文件名(函数))

文件访问: 
fclose    Close file (function) (关闭文件(函数)) 
fflush    Flush stream (function) (刷新流(函数)) 
fopen    Open file (function) (打开文件(函数)) 
freopen    Reopen stream with different file or mode (function) (用不同的文件或模式重打开流(函数)) 
setbuf    Set stream buffer (function) (设置流缓冲区(函数)) 
setvbuf    Change stream buffering (function) (改变流缓冲(函数))

格式化输入/输出: 
fprintf    Write formatted data to stream (function) (写格式化数据到流(函数)) 
fscanf    Read formatted data from stream (function) (从流读格式化数据(函数)) 
printf    Print formatted data to stdout (function) (打印格式化数据到标准输出(函数)) 
scanf    Read formatted data from stdin (function) (从标准输入读格式化数据(函数)) 
snprintf    Write formatted output to sized buffer (function) (写格式化输出到一定大小的缓冲区(函数)) 
sprintf    Write formatted data to string (function) (写格式化数据到字符串(函数)) 
sscanf    Read formatted data from string (function) (从字符串读格式化数据(函数)) 
vfprintf    Write formatted data from variable argument list to stream (function) (从可变实参列表写格式化数据到流(函数)) 
vfscanf    Read formatted data from stream into variable argument list (function) (从流读格式化数据到可变实参列表(函数)) 
vprintf    Print formatted data from variable argument list to stdout (function) (从可变实参列表打印格式化数据到标准输出(函数)) 
vscanf    Read formatted data into variable argument list (function) (读格式化数据到可变实参列表(函数)) 
vsnprintf    Write formatted data from variable argument list to sized buffer (function) (从可变实参列表写格式化数据到一定大小的缓冲区(函数)) 
vsprintf    Write formatted data from variable argument list to string (function) (从可变实参列表写格式化数据到字符串(函数))  
vsscanf    Read formatted data from string into variable argument list (function) (从流读格式化数据到可变实参列表(函数))

字符输入/输出: 
fgetc    Get character from stream (function) (从流获取字符(函数)) 
fgets    Get string from stream (function) (从流获取字符串(函数)) 
fputc    Write character to stream (function) (写字符到流(函数)) 
fputs    Write string to stream (function) (写字符串到流(函数)) 
getc    Get character from stream (function) (从流获取字符(函数)) 
getchar    Get character from stdin (function) (从标准输入获取字符(函数)) 
gets    Get string from stdin (function) (从标准输入获取字符串(函数)) 
putc    Write character to stream (function) (写字符到流(函数)) 
putchar    Write character to stdout (function) (写字符到标准输出(函数)) 
puts    Write string to stdout (function) (写字符串到标准输出(函数)) 
ungetc    Unget character from stream (function) (从流中放回字符(函数))

直接输入/输出: 
fread    Read block of data from stream (function) (从流读数据块(函数)) 
fwrite    Write block of data to stream (function) (写数据块到流(函数))

文件定位: 
fgetpos    Get current position in stream (function) (获取当前在流中的位置(函数)) 
fseek    Reposition stream position indicator (function) (重新定位流位置指示符(函数)) 
fsetpos    Set position indicator of stream (function) (设置流位置指示符(函数)) 
ftell    Get current position in stream (function) (获取当前在流中的位置(函数)) 
rewind    Set position of stream to the beginning (function) (设置流的位置到开始处(函数))

错误处理: 
clearerr    Clear error indicators (function) (清除错误指示符(函数)) 
feof    Check end-of-file indicator (function) (检查文件结束指示符(函数)) 
ferror    Check error indicator (function) (检查错误指示符(函数)) 
perror    Print error message (function) (打印错误信息(函数))

宏 
BUFSIZ    Buffer size (constant) (缓冲区大小(常量)) 
EOF    End-of-File (constant) (文件结束(常量)) 
FILENAME_MAX    Maximum length of file names (constant) (最长文件名长度(常量)) 
FOPEN_MAX    Potential limit of simultaneous open streams (constant) (同时打开的流的潜在限制(常量)) 
L_tmpnam    Minimum length for temporary file name (constant) (对于临时文件名的最小长度(常量)) 
NULL    Null pointer (macro) (空指针(宏)) 
TMP_MAX    Number of temporary files (constant) (临时文件的数量(常量)) 
额外的: _IOFBF,_IOLBF,_IONBF(用于setvbuf) 
和SEEK_CUR,SEEK_END和SEEK_SET(用于fseek)。

类型 
FILE    Object containing information to control a stream (type) (包含控制一个流信息的对象(类型)) 
fpos_t    Object containing information to specify a position within a file (type) (包含指定在一个文件中的位置信息的对象(类型)) 
size_t    Unsigned integral type (type) (无符号整数类型(类型))

C++ Reference: Standard C++ Library reference: C Library: cstdio相关推荐

  1. Conditional project or library reference in Visual Studio

    Conditional project or library reference in Visual Studio In case you were wondering why you haven't ...

  2. link library 、target library、symbol library、synthetic library对照分析-基础小知识(九)

    文章目录 1.1 概念介绍 1.2 疑问解析 参考文档 DC 应用过程中涉及link library .target library.symbol library.synthetic library, ...

  3. undefined reference to `__stack_chk_guard' .. undefined reference to `__stack_chk_fail'

    1. 编译出错 undefined reference to `__stack_chk_guard' undefined reference to `__stack_chk_fail' 解决方法-1: ...

  4. git fatal: cannot lock ref ‘HEAD‘:unable to resolve reference‘refs/heads/main‘:reference broken

    问题: push的时候,电脑强制关机再启动,vscode中所有文件都变成了绿色,暂存待提交状态 当我再次提交时,就出现错误:git fatal: cannot lock ref 'HEAD':unab ...

  5. undefined reference to 'floor'/undefined reference to

    undefined reference to 'floor'/undefined reference to `& undefined reference to 'pow'/undefined ...

  6. 问题排查--@cannot lock ref 'HEAD': unable to resolve reference 'refs/heads/master': reference broken解决方法

    @cannot lock ref 'HEAD': unable to resolve reference 'refs/heads/master': reference broken解决 作者用的是ID ...

  7. C++ Reference: Standard C++ Library reference: C Library: cmath: cbrt

    C++官网参考链接:https://cplusplus.com/reference/cmath/cbrt/ 函数  <cmath> <ctgmath> cbrt C99 dou ...

  8. C++ Reference: Standard C++ Library reference: C Library: cmath: erf

    C++官网参考链接:https://cplusplus.com/reference/cmath/erf/ 函数  <cmath> <ctgmath> erf C99 doubl ...

  9. C++ Reference: Standard C++ Library reference: C Library: cstdio: printf

    C++官网参考链接:https://cplusplus.com/reference/cstdio/printf/ 函数  <cstdio> printf int printf ( cons ...

  10. C++ Reference: Standard C++ Library reference: C Library: cstdio: fprintf

    C++官网参考链接:https://cplusplus.com/reference/cstdio/fprintf/ 函数  <cstdio> fprintf int fprintf ( F ...

最新文章

  1. 把内存虚拟成硬盘给代码加速
  2. XIII Open Grodno SU Championship
  3. API测试和自动化101:基本指南
  4. 网站SEO优化中内部链接的优化
  5. java ee面试题专家总结(必看),Java EE面试题专家总结(必看)
  6. 《一张图看懂华为云BigData Pro鲲鹏大数据解决方案》
  7. 基于MVC的jpetstore项目分析
  8. VBS 与 VBA 的区别
  9. centos7 快速安装 mariadb(mysql)
  10. cisco思科交换机命令参考大全
  11. RabbitMQ:Plugin configuration unchanged;解决RabbitMQ启动问题,Win10用户中文问题解决
  12. 美国大学计算机系学什么,最新美国大学计算机专业排名介绍
  13. Java学习笔记 (二十七) 使用NIO写文件
  14. nyoj71 独木舟上的旅行
  15. 深耕技术,与实践赛跑:一文告诉你如何稳妥快速完善区块链技术并有序推动商用​?...
  16. QT 中“ std::cerr ”的使用方法
  17. 软件测试设计——按类型划分
  18. 服务停止端口未释放_工信部出手!对通信短信息和语音呼叫服务管理公开征求意见...
  19. 电信4G物联网卡、流量卡资费,13位物联网专用卡,专为智能设备而生,全国通用无漫游
  20. Ublox M8N模块测试指南

热门文章

  1. JavaScript(Dom对象的操作)
  2. networkx教程
  3. Nginx代理https强制http跳转https
  4. 多线程编程之Linux环境下的多线程(三)——好文
  5. C++11条件变量:notify_one()与notify_all()的区别
  6. 思科配置VLAN间单臂路由
  7. 顺口溜记23种设计模式
  8. 将任意窗口固定到桌面最前端
  9. 分位数回归的实现方法
  10. 天猫精灵 python_跟着小狂玩天猫精灵智能设备对接--硬件篇