C语言错误处理-输出错误信息

本文介绍了C语言中处理错误的方法,包括使用stderr、errno、perror()和strerror()。stderr用于标准错误输出,是无缓冲的,便于快速显示错误信息。errno是全局变量,保存错误代码,配合perror()或strerror()可以输出直观的错误信息。perror()直接打印错误代码的文本描述,而strerror()返回错误消息字符串。
摘要由CSDN通过智能技术生成

C语言错误处理-输出错误信息

程序开发过程中,不可避免地会因为细节疏忽导致程序的编译、运行出错,当出现错误时编译器一般会将错误信息展示出来,但由程序操作或用户输入导致的错误往往会使程序直接崩溃并无任何的提示,此时,就需要一种方法能够用在程序可能出错的地方,当错误发生时可以提前将错误信息输出并中止运行,避免程序的崩溃、简化程序bug的查找。下面介绍C语言中几种用来主动输出错误信息的方法。

stderr

首先介绍stderr标准错误,在程序创建的同时会开启三个默认的流,分别为标准输入stdin、标准输出stdout和标准错误stderrstdin默认指向键盘,stdoutstderr默认将数据输出到屏幕,也可以重定向输出到文件中。直接使用stderr是不会打印当前的错误信息的,它仅仅用来从输入中读取指定的信息然后再输出到指定的地方,这正是数据流的本意,数据从哪里来要到哪里去,所以,stderr还需要和能够读懂错误的函数进行配合使用。

关于stderr还有一点要注意,虽然同样默认指向屏幕进行数据流的输出,但不同于stdout的是,为了尽快的输出错误信息,stderr被设计为无缓冲的输出,即不需要待缓冲区(满缓冲和行缓冲)填满后再进行I/O操作,什么意思呢,举个例子:


                
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值