当前位置: 首页 > news >正文

响应式模板网站模板WordPress rpc 通知

响应式模板网站模板,WordPress rpc 通知,网站广告推送怎么做,外贸网站怎么做才好在C语言编程中&#xff0c;<errno.h> 头文件扮演着至关重要的角色&#xff0c;它提供了一个全局变量 errno 以及一系列预定义宏&#xff0c;用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…

在C语言编程中,<errno.h> 头文件扮演着至关重要的角色,它提供了一个全局变量 errno 以及一系列预定义宏,用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。

errno 变量

extern int errno;

errno 是一个外部整型变量,它被C标准库中的特定函数设置为不同的非零值以指示不同类型的错误。当程序启动时,默认情况下其值被初始化为零。

示例:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>int main() {char *large_number = "1e309"; // 尝试转换超过double最大值的字符串errno = 0; // 清零errnodouble result = strtod(large_number, NULL);if (errno == ERANGE) {perror("strtod failed: ");printf("The input number was too large for a double.\n");} else {printf("strtod succeeded with value: %f\n", result);}return 0;
}

在这里插入图片描述

在这个例子中,我们尝试将字符串 “1e309” 转换为 double 类型。由于这个数值超出了 double 类型的最大表示范围,理论上讲,在某些实现中,当调用 strtod 函数时,errno 应该会被设置为 ERANGE。这意味着转换过程中发生了范围错误,并且程序会打印出相应的错误信息。

错误代码宏

EDOM(Domain Error)

#define EDOM      33

当数学函数的输入参数超出了函数所定义的有效域时,例如计算对数函数 (log) 的负数参数,errno 将被设置为 EDOM

ERANGE(Range Error)

#define ERANGE    34

如果数学函数的结果超出所能表示的范围(如 strtod 解析出的数字太大无法存储),或者指定位移运算超过了类型的最大值,此时 errno 将被设置为 ERANGE

示例:

#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <syslimits.h>int main() {errno = 0;double inf_result = log(-1.0); // 对于负数计算对数触发EDOM错误if (errno == EDOM) {perror("log function encountered domain error: ");// 输出可能为 "log function encountered domain error: Numerical argument out of domain"}errno = 0;long large_num = LONG_MAX;long overflow_result = large_num + 1; // 超出long类型最大值,触发ERANGE错误if (errno == ERANGE) {perror("Integer overflow occurred: ");// 输出可能为 "Integer overflow occurred: Result too large"}return 0;
}

在这里插入图片描述

通过检查并理解 errno 的值及其对应的错误宏,程序员能够更好地处理可能出现的异常情况,并确保程序的健壮性和可靠性。值得注意的是,每次读取 errno 前都应该先将其值保存下来,因为某些库函数可能会覆盖 errno 的值而并非总是错误发生的原因。此外,应当结合使用 perror() 函数来打印出与 errno 相关的错误信息。

http://www.yayakq.cn/news/464626/

相关文章:

  • 网站建设与管理规范玉泉路网站制作
  • 网站开发的主要内容网络推广优化网站
  • 可以做试卷并批改的网站建筑工程人才招聘网
  • 看网站的浏览器多媒体艺术设计
  • 网站运营可以转行做网站设计吗网站建设费如何入账怎么摊销
  • 什么是优化型网站获取网站目录下所有文件
  • 山东建设人才网站wordpress默认邮件文件
  • 漳州建设企业网站网站的管理
  • 建个网站费用大概多少钱一年怎么把网站制作成安卓
  • 上海免费网站建设服务贵州建设监理协会网站
  • 找做模型方案去哪个网站青岛外贸网站建站公司
  • 有什么网站做统计图的保定曲阳网站建设
  • 宁波建网站哪家营销型外贸网站广州
  • 俄语搜索网站微信公众号登录wordpress网站吗
  • 深圳市住房和建设局网站怎么打不开了河北省质监站网址
  • 做网站和彩票的同步开奖怎么做wordpress 数据库备份
  • 青岛哪家网站建设好wordpress都是不安全模块
  • 益阳网站建设公司电话地宝网 网站建设
  • 图片生成器在线百度seo入驻
  • 抖音网站表白怎么做wordpress购物模版
  • 大中型网站开发流程搜索引擎大全入口
  • 网站长期外包北京网站备案负责人变更
  • 做网站公司负责修图吗发稿类别
  • 网站续费怎么做分录长沙正规竞价优化推荐
  • 隆尧网站制作页游传奇排行榜
  • 北京企业网站建设推荐站长查询域名
  • 如何做旅游攻略网站e4a做网站软件
  • vr全景网站开发建立网站的程序
  • 使用oss做静态网站保定网站制作设计哪个公司好
  • wordpress建立多站点网站建设制作网络营销公司