关于C语言自带的错误机制,可选的提示错误函数perror(),strerror(errno),个人测试结果

Linux错误处理函数详解:从perrorstrerror_r 在Linux系统编程中,错误处理是确保程序健壮性的关键环节。系统通过errno全局变量机制记录错误状态,开发者可以利用perror()strerror()等标准库函数获取错误描述。这些函数基于POSIX标准实现,perror()提供简单的错误输出功能,而strerror()则允许更灵活的错误信息处理。在多线程环境下,strerror_r()函数通过线程安全的缓冲区操作解决了传统strerror()的线程安全问题。理解这些错误处理机制的工作原理,对于开发高可靠性的Linux系统软件至关重要,特别是在文件操作 阅读详情

用 perror("str"); 可以提示你现在调用的函数出错,显示在显示器上(stdout)

而调用printf("%s",strerror(errno)); 在没有指定输出的文件的时候,和上面的结果一样

但是如果指明了输出文件那么,该函数将会将错误信息保存在你指明的输出文件中(stderr)

例如 :./sample > 2.txt     cat 2.txt

共同的头文件是 errno.h

下面一个要加上头文件 string.h   

Oracle MCP Server实战:自然语言如何重塑数据库交互体验 本文深入探讨了Oracle MCP Server如何通过自然语言交互技术革新数据库操作体验。作为Oracle数据库的革命性工具,MCP Server集成了先进的Text-to-SQL技术,允许用户使用自然语言直接查询数据库,大幅降低使用门槛。文章详细介绍了从环境搭建、实战案例到企业级部署的全流程,特别强调了中文自然语言处理能力和安全最佳实践,为DBA和开发者提供了从传统SQL到智能交互的转型指南。 阅读详情

相关推荐

数学建模之0—1规划(Python)

目录 1、概述 (1)知识框架 (2)线性整数规划模型 (3)分支定界法 2、案例 (1)案例1​ (2)案例2 3、遗传算法—sko-GA包实现 (1)代码 (2)结果 4、PuLp实现 (1)代码 (2)结果 5、致谢 1、概述 (1)知识框架 (2)线性整数规划模型 (3)分支定界法 2、案例 (1)案例1 (2)案例2 3、遗传算法—sko-GA包...

weixin_46039719的博客 4091

strerror和erron参数函数的试用(经典)

strerror和erron参数函数的试用(经典) 2011年12月06日   linux下错误的捕获:errnostrerror的使用   经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 ...

ugv32ugv 342

PyQt5数据库开发3 6 QSqlQuery完整实操案例【图文详解】

PyQt5数据库开发3 6.1 QSqlQuery实操案例【多图详解】,本文有点长,主要每一个步骤都有对应的图文教程!!!

qq_53317005的博客 2943

【C库函数strerror函数详解

详解strerror函数

威威的博客 4232

strerror(errno)错误信息报告

strerror(errno)错误信息报告

zrk8008的博客 482

C语言错误提示函数strerrorerrno

C语言错误提示函数strerrorerrno

m0_61629312的博客 927

C语言,strerror函数

strerror函数

热爱编程小枫的博客 361

[Linux/Unix C 编程] perror函数,strerror函数,errno

void perror(const char *s); perror ("open_port"); 函数说明 perror( ) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno 的值来决定要输出的字符串。 在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你

停止更新,迁移至ykpeng.com 5652

错误输出函数perrorstrerror用法

头文件   #includestdio.h>   注意   不可以掉了这个头文件,perror是包含在stdio.h这个文件里的// 定义函数   void perror(const char *s);     例如:perror ("open_port");         char* strerror(interrnum); 函数说明   perror ( )用 来 将

u013485792的专栏 7286

perror函数,strerror函数,errno,stderr

http://blog.linuxeden.com/index.php/39761/viewspace-7440.html 在讲之前,我们先来看看下面的语句: fprintf(stderr,"can't open this fill %s;",&str); 想必上面的我们经常会用到吧,那我们是否有别的函数来进行实现呢,接下来我们来看下面几个函数 #include // v

zhaowenchaofang的专栏 1953

C语言错误处理:perror()strerror()的深度对比与最佳实践

在系统编程中,错误处理是确保程序健壮性的核心环节。其基本原理是通过全局变量errno捕获底层系统调用或库函数执行失败的具体原因。为了将机器可读的错误代码转换为人可理解的描述,C标准库提供了关键的错误信息转换机制。这一机制的技术价值在于,它架起了底层系统与上层应用之间的沟通桥梁,使得开发者能够快速定位和诊断问题。在实际应用场景中,无论是命令行工具、后台服务还是多线程应用,都需要根据不同的需求选择合适的错误信息输出方式。本文聚焦于C语言中两个核心的错误信息处理函数——perror()strerror(),通过

weixin_34185512的博客 326

errno、stderr、perror函数strerror函数

strerror()方法与perror()的用法十分相似。     先谈谈perror()的用法,这个方法用于将上一条语句(方法)执行后的错误打印到标准输出上。一般情况下(没有使用重定向的话),就是输出到控制台上。 但是,如果我需要了解另外一个进程的某一个方法执行的错误,或者更briefly,我就希望将错误打印到一个文件里面,perror()就不太合适了! 为了实现我刚刚说到的要

oSanWenYu的专栏 2030

<C语言错误处理> strerrorperror函数以及断言处理方式(了解)

本篇主要讲了perror函数strerror函数以及断言的使用方法,同时引入了C89标准、C99标准以及C1X标准下对assert断言的不同要求......

m0_73975164的博客 1162

erron变量、strerror函数perror 函数

errno 本质上是一个 int 类型的变量,用于存储错误编号;strerror一个 C 库函数,该函数可以将对应的 errno 转换成适合我们查看的字符串信息char *strerror(int errnum)perror 函数用来查看错误信息,调用此函数不需要传入 errno函数内部会自己去获取 errno 变量的值,调用此函数会直接将错误提示字符串打印出来,而不是返回字符串,除此之外还可以在输出的错误提示字符串之前加入自己的打印信息void perror(const char *s)。...

Bit_Dong的博客 1464

「C系列」C 错误处理

对于整数除法,当除数为零时,大多数编译器会发出警告或错误,因为这种行为在C语言标准中是未定义的(Undefined Behavior)。在C语言中,当尝试进行除法运算并且除数为零时,会触发一个运行时错误,通常被称为“被零除”或“除以零”错误。在C语言中,错误处理是一个重要的编程实践,用于确保程序在遇到错误或异常情况时能够做出适当的响应。在你的代码中,直接使用这些宏而不是硬编码具体的值是一个好习惯,因为它提高了代码的可移植性。在这个例子中,如果除数为零,程序会打印一条错误消息到标准错误流(

日常笔记/总结/系列知识梳理 2339

Linux系统编程之错误处理:perror,strerrorerrno

1,在系统编程中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。errno这个全局变量在< errno.h>头文件中声明如下:extern int errno;errno是一个由POSIX和ISO C标准定义的符号,看(用)起来就好像是一个整形变量。当系统调用或库函数发生错误的时候,比如以只读方式打开一个不存在的文件时,它的值将会被改变,根据errno值的不同,我们就可以知道自己的程序

hjhomw的博客 1290

linux系统编程之错误处理:perror,strerrorerrno

1,在系统编程中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。 errno这个全局变量在<errno.h>头文件中声明如下:extern int errno; errno是一个由POSIX和ISO C标准定义的符号,看(用)起来就好像是一个整形变量。当系统调用或库函数发生错误的时候,比如以只读方式打开一个不存在的文件时,它的值将会被改变,根据errno值的...

diehuojiang5959的博客 472

linux下perror函数,Linux学习 之 perror函数,strerror函数,errno

#include // void perror(const char *msg);#include // char *strerror(int errnum);#include //errnoerrno错误代码,在 errno.h头文件中;perror错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符)strerror 是通过参数 errnum (就是errn...

weixin_29775951的博客 588

Linux文件IO(四)-返回错误处理与errno详解

其实不然,在 Linux 系统下对常见的错误做了一个编号,每一个编号都代表着每一种不同的错误类型,当函数执行发生错误的时候,操作系统会将这个错误所对应的编号赋值给 errno 变量,每一个进程(程序)都维护了自己的 errno 变量,它是程序中的全局变量,该变量用于存储就近发生的函数执行错误编号,也就意味着下一次的错误码会覆盖上一次的错误码。从图中红框部分描述文字可知,当函数返回错误时会设置 errno,当然这里是以 open 函数为例,其它的系统调用也可以这样查找,大家可以自己试试!

Dola的博客 1539

linux下perror函数,Linux/Unix C编程之的perror函数,strerror函数,errno

#include // voidperror(const char *msg);#include // char*strerror(int errnum);#include //errnoerrno错误代码,在errno.h头文件中void perror(const char *s)perror错误输出函数,在标准输出设备上输出一个错误信息。参数s一般是参数错误函数例如perror("...

weixin_42514222的博客 1014
下一篇: linux mount cdrom 小技巧
deepin92
博客等级 码龄12年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值