stdout 和 stderr

stdout 和 stderr今天又查了一下 fprintf 其中对第一个参数 stderr 特别感兴趣 intfprintf FILE stream char format argument 在此之前先区分一下 printf sprintf fprintf 1 printf 就是标准输出 在屏幕上打印出一段字符串来 2 sprintf 就是把格式化的数据写入到某个字符串中 返回值字符串的长度

今天又查了一下fprintf,其中对第一个参数stderr特别感兴趣。

int fprintf(FILE *stream,char *format,[argument]);

在此之前先区分一下:printf,sprintf,fprintf。

1,printf就是标准输出,在屏幕上打印出一段字符串来。

2,sprintf就是把格式化的数据写入到某个字符串中。返回值字符串的长度。

3,fprintf是用于文件操作。

      原型:int fprintf(FILE *stream,char *format,[argument]);       

      功能:fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指  定的文件。

     例子:

 char name[20] = “lucy”; 

    返回值:若成功则返回输出字符数,若输出出错则返回负值。

好了,以上到此为止。

然后深挖stdout,stderr。

stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。

今天时间仓促,以下摘自

http://blog.sina.com.cn/s/blog_912673ce010139.html(十分感谢)

1,我们知道,标准输出和标准错误默认都是将信息输出到终端上,那么他们有什么区别呢?让我们来看个题目:

问题:下面程序的输出是什么?(intel笔试2011)

解答:这段代码的输出是什么呢?你可以快速的将代码敲入你电脑上(当然,拷贝更快),然后发现输出是

World!Hello

这是为什么呢?在默认情况下,stdout是行缓冲的,他的输出会放在一个buffer里面,只有到换行的时候,才会输出到屏幕。而stderr是无缓冲的,会直接输出,举例来说就是printf(stdout, “xxxx”) 和 printf(stdout, “xxxx\n”),前者会憋住,直到遇到新行才会一起输出。而printf(stderr, “xxxxx”),不管有么有\n,都输出。

总结:注意1,点,2点即可!

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

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

(0)
上一篇 2026年3月19日 上午9:39
下一篇 2026年3月19日 上午9:39


相关推荐

  • LINQ&EF任我行(二)–LinQ to Object (转)

    LINQ&EF任我行(二)–LinQ to Object (转)

    2021年7月9日
    97
  • Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    Spring AOP中的JDK和CGLib动态代理哪个效率更高?一、背景今天有小伙伴面试的时候被问到:SpringAOP中JDK和CGLib动态代理哪个效率更高?二、基本概念首先,我们知道SpringAOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。自Java1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方。JDK动态代理主要涉及…

    2022年5月1日
    45
  • nginx 正向代理https配置

    nginx 正向代理https配置1 需求描述如图所示 公司内网为了安全考虑 只提供一台服务器可与外网作为网关 进行访问 1 服务器 A 可以访问外网 2 服务器 B C 无法访问外网 3 服务器 ABC 之间内网互通 需求原因 内部 web 系统 部署在 BC 上 其中有直接访问外网的部分第三方接口 需求目的 使 BC 服务器可以正常访问外网 2 分析基于 nginx 的正向代理 在服务器 A 搭建一个代理服务器 使得 BC 可以通过服务器 A 的 nginx 代理进行访问外网 3 nginx 搭建正向代理 nginx 版本

    2026年3月26日
    3
  • HttpUtil工具类发送post请求

    HttpUtil工具类发送post请求importjava io IOException importorg apache http HttpEntity importorg apache http HttpResponse importorg apache http client ClientProtoc importorg apache http client methods HttpP

    2026年3月17日
    2
  • MyBatisPlus04_MyBatisPlus的代码自动生成器

    MyBatisPlus04_MyBatisPlus的代码自动生成器MyBatisPlus0 MyBatisPlus 的代码自动生成器添加相关依赖 dependency groupId com baomidou groupId artifactId mybatis plus generator artifactId version 3 3 1 tmp version dependency dependency dependency

    2025年11月23日
    6
  • 实现组件的自动换行排布:

    实现组件的自动换行排布:

    2021年3月12日
    199

发表回复

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

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