C++:cstdio 头文件详解

C++:cstdio 头文件详解<cstdio>(stdio.h)headerC库执行输入/输出操作:输入和输出操作也可以在C++实现,通过使用C标准输入和输出库(cstdio,在C语言中称为stdio.h)。这个库使用流来操作物理设备如键盘,打印机,终端或者系统支持的任何其他类型的文件。流是一种以统一的方式与这些交互的抽象; 所有流都具有相似的属性,与它们所关联的物理介质的各个特征无关。流…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

<cstdio> (stdio.h)

header


C库执行输入/输出操作:

输入和输出操作也可以在C++实现,通过使用C标准输入和输出库(cstdio,在C语言中称为stdio.h)。

这个库使用流来操作物理设备如键盘,打印机,终端或者系统支持的任何其他类型的文件。

流是一种以统一的方式与这些交互的抽象; 所有流都具有相似的属性,与它们所关联的物理介质的各个特征无关。

流在cstdio库中作为指向 FILE 的指针处理对象。一个指向FILE对象的指针唯一地标识一个流,并在涉及该流的操作中用作参数。

在使用库的时候会自动创建三个标准流:stdinstdout and stderr


流属性

Streams有一些属性可以定义可以在它们上使用哪些函数以及它们如何通过它们处理数据输入或输出。大多数这些属性是在流与使用 fopen 函数的文件(已打开)关联时定义的:

读/写访问 | 文字/二进制 | 缓冲 | 方向

指定流是否对与其关联的物理介质具有读取或写入访问权限(或两者)。

文本流被认为代表一组文本行,每行以新行字符结尾。根据运行应用程序的环境,可能会对文本流进行一些字符转换,以使某些特殊字符适应环境的文本文件规范。另一方面,二进制流是从物理介质写入或读取的字符序列,没有翻译,与读取或写入流的字符一一对应。

缓冲区是一块存储器,其中数据在物理读取或写入相关文件或设备之前被累积。流可以是完全缓冲,行缓冲或无缓冲。在完全缓冲的流上,在填充缓冲区时读取/写入数据,在线路缓冲的流上发生这种情况,当遇到换行符时,在无缓冲的流上,字符意图尽快读取/写入。

在打开时,流没有方向。一旦对它们执行输入/输出操作,它们就会变为byte-oriented或wide-oriented,具体取决于所执行的操作(通常,<cstdio>中定义的函数是byte-oriented,而<cwchar>中的函数是wide-oriented)。有关详细信息,请参阅cwchar


指示符

Streams具有确定的内部指示符,用于指定其当前状态,并影响对其执行的某些输入和输出操作的行为:

错误指示符 当与流相关的操作发生错误时,将设置此指示符。可以使用ferror功能检查此指示器,并可以通过调用clearerrfreopenrewind来重置此指示器。
文件结束指示符 设置时,表示使用流执行的上次读取或写入操作已到达文件结尾。可以使用feof函数进行检查,可以通过调用clearerrfreopen或调用任何重定位函数(rewindfseekfsetpos)来重置。
位置指示符 它是每个流的内部指针,指向下一个I/O操作中要读取或写入的下一个字符。它的值可以通过ftellfgetpos函数获得,并且可以使用rewindingfseekfsetpos重新定位函数来更改。

函数

文件操作:

(function )

remove

删除文件

rename

重命名文件

tmpfile

打开临时文件

tmpnam

生成临时文件名


文件访问:

(function )

fclose

关闭打开的文件流

fflush

刷新流

fopen

打开文件流

freopen

使用不同的文件或模式重新打开流

setbuf

设置缓冲流

setvbuf

改变缓冲流


格式化输入/输出:

(function )

fprintf

将格式化数据写入流

fscanf

从流中读取格式化数据

printf

将格式化数据打印到stdout

scanf

从stdin读取格式化数据

snprintf 

将格式化输出写入一定大小的缓冲区

sprintf

将格式化数据写入字符串

sscanf

从字符串读取格式化数据

vfprintf

将格式化数据从变量参数列表写入流

vfscanf 

将格式化数据从流读入变量参数列表

vprintf

将格式化数据从变量参数列表打印到stdout

vscanf 

将格式化数据读入变量参数列表

vsnprintf 

将格式化数据从变量参数列表写入一定大小的缓冲区

vsprintf

将格式化数据从变量参数列表写入字符串

vsscanf 

将格式化数据从字符串读入变量参数列表


字符输入/输出:

(function )

fgetc

从流中获取字符

fgets

从流中获取字符串

fputc

将字符写入流

fputs

将字符串写入流

getc

从流中获取字符

getchar

从stdin 中获取字符

gets

从stdin 中获取字符串

putc

将字符写入流

putchar

将字符写入stdout

puts

将字符串写入stdout

ungetc

将字符放回流中


直接输入/输出:

(function )

fread

从流中读取数据块

fwrite

写数据块到流


文件定位:

(function )

fgetpos

获取流中的当前位置

fseek

重新定位流位置指示符

fsetpos

设置流的位置指示符

ftell

获取流中的当前位置

rewind

将流的位置设置为开头


错误处理:

(function )

clearerr

清除错误指示符

feof

检查文件结束指示符

ferror

检查错误指示符

perror

打印错误消息


 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203997.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • resnet101网络结构图_resnet有全连接层吗

    resnet101网络结构图_resnet有全连接层吗resnet网络代码importtorchimporttorch.nnasnnimporttorchvisionimportnumpyasnpfromtorchsummaryimportsummaryprint(“PyTorchVersion:”,torch.__version__)print(“TorchvisionVersion:”,torchvi…

    2022年10月7日
    0
  • idea中如何配置maven项目_idea配置maven环境

    idea中如何配置maven项目_idea配置maven环境一、使用步骤1.在Idea中配置maven(1)、打开Idea,点击File,然后点击Settings,进入设置,或者直接按Ctrl+Alt+S进入设置在这里插入图片描述(2)、先在左上角的搜索框输入maven,找到maven后单击,然后在右边的mavenhomepath的右边选择你的maven安装路径,选择到根目录就好了,然后点击确定,具体步骤看下图:在这里插入图片描述(3)、Localrepository是maven的本地仓库,默认路径是C:UsersAdministrator.

    2022年10月3日
    0
  • 使用JS访问本地数据库「建议收藏」

    使用JS访问本地数据库「建议收藏」1前言有时候,数据业务比较大,比如查询百万级的数据,如果使用JSP查询数据库,JSP的返回结果一般放在域名后面返回给客户端,而返回结果的长度是有限制的,数据过长可能会丢失部分数据;另一方面数据量大,占用带宽大,网络延时较长。使用JS绕过后台Web服务器,直接访问本地数据库服务器,虽然会有些不安全,但却能够访问大数据,并且不占用带宽。2案例在本地SQLServer建立数据库tes…

    2022年5月22日
    39
  • java 哈希冲突

    java 哈希冲突问题一:什么是哈希冲突通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值。这时候就产生了哈希冲突。问题二:怎么解决哈希冲突开放地址法;再哈希法;链地址法(拉链法);公共溢出区法。开放地址法:开放地址法处理冲突的基本原则就是出现冲突后按照一定算法查找一个空位置存放…

    2022年6月16日
    29
  • 七牛云文件上传_七牛云价格

    七牛云文件上传_七牛云价格七牛云上传图片到七牛云并返回图片URL鸣谢’追逐盛夏流年’:https://blog.csdn.net/j1231230/article/details/80061834在开发项目的时候,经常会用到上传图片的功能,如果把图片全都存放在项目路径下,会导致项目越来越臃肿,因此可以考虑把图片上传交给第三方处理,此处我们采用七牛云进行图片存储。一.七…

    2022年9月22日
    0
  • VS2005SP1安装加速「建议收藏」

    VS2005SP1安装加速「建议收藏」vs2005sp1出来已经有一段时间了,由于安装速度太慢,我一直都没有安装,今天遇到一个vs的bug,不得已需要安装sp1,上网找了一下,发现一个解决安装速度慢的方案。之所以速度慢是很大程度上是因为windowsinstaller的cache造成,在安装时暂时禁用掉windowsinstaller的cache可以极大的加速sp1的安装,而且可以节省1.3G的磁盘空间。将下面的代码存为b

    2022年9月1日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号