errno、perror() 和 strerror()
2018-01-25 00:17
387 查看
errno、perror() 和 strerror()
C 语言提供了perror() 和
strerror() 函数来显示与
errno 相关的文本消息。
perror() 函数显示您传给它的字符串,后跟一个冒号、一个空格和当前 errno 值的文本表示形式。
strerror() 函数,返回一个指针,指针指向当前 errno 值的文本表示形式。
让我们来模拟一种错误情况,尝试打开一个不存在的文件。您可以使用多种方式来输出错误消息,在这里我们使用函数来演示用法。另外有一点需要注意,您应该使用
stderr 文件流来输出所有的错误。
#include <stdio.h>
#include <errno.h>
#include <string.h>
extern int errno ;
int main ()
{
FILE * pf;
int errnum;
pf = fopen ("unexist.txt", "rb");
if (pf == NULL)
{
errnum = errno;
fprintf(stderr, "Value of errno: %d\n", errno);
perror("Error printed by perror");
fprintf(stderr, "Error opening file: %s\n", strerror( errnum ));
}
else
{
fclose (pf);
}
return 0;
}输出
Value of errno: 2
Error printed by perror: No such file or directory
Error opening file: No such file or directory
相关文章推荐
- Linux系统编程之错误处理:perror,strerror和errno
- perror, strerror 显示errno对应的字符串错误信息
- errno 与 perror()/strerror()函数
- perror, errno, strerror 三个函数的说明
- linux系统编程之错误处理:perror,strerror和errno
- C/C++错误分析errno,perror,strerror和GetLastError()函数返回的错误代码的意义
- 关于errno与perror,strerror函数
- 玩玩linux下的errno, perror, strerror
- Linux系统编程之错误处理:perror,strerror和errno
- linux系统编程之错误处理:perror,strerror和errno
- errno , perror,strerror
- errno , perror,strerror
- 关于C语言自带的错误机制,可选的提示错误函数perror(),strerror(errno),个人测试结果
- Linux系统编程之错误处理:perror,strerror和errno
- 关于Linux系统编程的错误处理:errno、perror、strerror
- linux下错误的捕获:errno、perror和strerror的使用
- linux下错误的捕获:errno、strerror和perror的使用
- Linux系统编程之错误处理:perror,strerror和errno
- linux系统编程之错误处理:perror,strerror和errno
- linux下错误的捕获:errno和strerror的使用