c语言cstdio什么意思,<iostream>与<cstdio>有什么区别?

c语言cstdio什么意思,<iostream>与<cstdio>有什么区别?该楼层疑似违规已被系统折叠隐藏此楼查看此楼列个提纲:1.cstdio是面向“文件”的,或者不强调文件和非文件流的区别,默认流就是可以关联外部文件,至于文件的外延是啥就不管,扔给宿主环境了。从std::FILE这个名字以及printf/scanf接口描述基于fprintf/fscanf上就可以看出来。iostream头只是包含了一坨东西,封装标准输入输出流,和文件流(在)不通用。2.cstdio不…

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

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

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

列个提纲:

1.cstdio是面向“文件”的,或者不强调文件和非文件流的区别,默认流就是可以关联外部文件,至于文件的外延是啥就不管,扔给宿主环境了。从std::FILE这个名字以及printf/scanf接口描述基于fprintf/fscanf上就可以看出来。

iostream头只是包含了一坨东西,封装标准输入输出流,和文件流(在)不通用。

2.cstdio不知道iostream,而iostream知道cstdio并且默认同步,此外提供有限的接口摆脱关系(sync_with_stdio)。因为这个接口约束,iostream要脱离cstdio(的实现)是不太可能的。

3.cstdio有orientation的概念;iostream是否wide是直接写死在静态类型的模板参数里的,并且底层的流不只支持char和wchar_t字符类型。

4.iostream底层公开了相对完整的缓冲接口(如std::basic_filebuf),可以自行扩展;cstdio只能笼统地设置缓冲模式和提供提供区的接口,但多了行缓冲的概念(_IOLBF)。

5.iostream和std::locale交互。C标准库的(对应C++的)提供locale-specific behavior,和cstdio不直接关联。两者不是一回事。

因为这个原因,iostream能直接编解码字符串,而cstdio不能处理和wide-oriented无关的编码,需要(对应C++的)或C11的的例程显式调用。

6.iostream体系提供了基于字符串提供了“内存流”(主要是std::stringstream),而cstdio这部分一般只是内部实现,如果需要得自己造。

7.iostream底层通过继承和重写protected虚函数提供实现。cstdio这部分是内部实现,不提供与之对应的扩展功能。

8.两者都实现了流的状态,但不尽相同。iostream显式区分bad和fail,但cstdio没有。

9.iostream提供特定的打开模式的组合,而cstdio使用字符串参数。前者无法直接扩展;后者解析较低效,虽然不需要修改类型就可扩展但也存在实现的运行时兼容性问题。

10.除了检查流的状态,iostream处理错误可选使用异常。cstdio处理错误依赖返回值和流状态。

11.iostream的格式输入输出基于重载,静态分派且类型安全,可以实现得更高效;cstdio的格式输入输出使用的是领域特定语言,需要运行时解析,通常比较低效,且实现的运行时兼容问题修复较困难。

但后者同时提供运行时配置可修改的格式的功能,而前者没有。

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

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

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


相关推荐

  • 文件服务器审计—首选Netwrix文件服务器审计工具

    文件服务器审计—首选Netwrix文件服务器审计工具文件服务器审计—首选Netwrix文件服务器审计工具为了遵守外部法规和确保业务连续性,企业需要审核他们的文件服务器,以确保防止敏感数据泄漏和未经授权的修改。看到论坛很多类似的讨论,而且微软自带的审计策略往往不能满足IT的所有需求。常常通过第三方的软件来实现文件服务器的审计功能。NetwrixWindows文件服务器工具有免费版本的变更通知工具以及收费版本的审计工具。可以自…

    2022年6月4日
    61
  • LaTex长公式换行及对齐[通俗易懂]

    LaTex长公式换行及对齐[通俗易懂]长公式换行用\\,对齐用&

    2022年6月8日
    424
  • msdos分区是什么_msdos_partition

    msdos分区是什么_msdos_partition硬盘分区及格式化本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘/dev/vdb上按以下要求建立分区:采用默认的msdos分区模式1、第1个分区/dev/vdb1的大小为200MiB2、第2个分区/dev/vdb2的大小为2000MiB3、第3个分区/dev/vdb3的大小为1000MiB,完成分区后4、能够配置开机自动挂载/dev/vdb2分区…

    2022年8月11日
    8
  • unit 4 Obtaining info about other user

    unit 4 Obtaining info about other user
    unit4Obtaininginfoaboutotheruser
     
    如果你在家使用你的个人电脑,可能你就是登录的唯一用户。然而如果你工作在一个Linux服务器上,就有可能同时存在着其他用户。对于后一种情况,这时候要是有些关于comma

    2022年5月12日
    41
  • 常用的perl正则表达式

    常用的perl正则表达式^\d+$  //匹配非负整数(正整数+0) //匹配整数^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数+0) ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数 ^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配

    2022年5月30日
    33
  • 什么是 Promethues | 普罗米修斯( 集群监控系统 )

    什么是 Promethues | 普罗米修斯( 集群监控系统 )Promethues监控系统Prometheus是个啥Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是GoogleBorgMon监控系统的开源版本。监控系统什么是监控系统1、监控系统在这里特指对数据中心的监控,主要针对数据中心内的硬件和软件进行监控和告警2、随着技术不断迭代,越来越复杂的数据中心环境对监控系统提出了更越来越高的要求:需要监控不同的对象,例如容器,分布式存储,SDN网络,分布式系统

    2022年7月19日
    25

发表回复

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

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