【C语言】strerror 函数的使用

strerror 函数的使用

strerror 函数的概述

char * strerror ( int errnum );
  • strerror 函数可以把参数部分错误码对应的错误信息的字符串地址返回来
  • 在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码,⼀般是放在errno.h这个头⽂件中说明的,C语⾔程序启动的时候就会使⽤⼀个全局的变量errno来记录程序的当前错误码,只不过程序启动的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会将对应的错误码,存放在errno中,⽽⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是有对应的错误信息的。strerror函数就可以将错误对应的错误信息字符串的地址返回。

errno.h文件对应错误信息

  • 每个错误码都对应一个错误信息
  • 为了得到这些错误信息是什么,这个时候就会用到strerror 函数

strerror 函数的使用

#include <stdio.h>
#include <errno.h>
#include <string.h>

int main()
{
	//打印出1对应的错误信息
	printf("1对应的错误信息:%s\n", strerror(1));

	return 0;
}

#include <stdio.h>
#include <errno.h>
#include <string.h>

int main()
{
	for (int i = 0; i <= 10; i++)
	{
		printf("%d对应的错误信息: %s \n", i, strerror(i));
	}
	
	return 0;
}

strerror 函数的示例

#include <stdio.h>
#include <errno.h>
#include <string.h>


int main()
{
	FILE* pf = fopen("test.txt", "r");
	
	//文件打开成功pf才会不为空
	//文件中没有上述文件
	//所以会产生错误信息
	if (pf == NULL)
	{
		//打印出错误信息
		printf("%s\n", strerror(errno));
		
		return 1;//打开失败,停止
	}
	//打开成功
	//读文件
	fclose(pf);

	return 0;
}

perror 函数

#include <stdio.h>
#include <string.h>
#include <errno.h>

int main()
{
	FILE * pFile;
	pFile = fopen("unexist.ent", "r");

	if (pFile == NULL)
	{
		perror("lisi");
	}
		
	return 0;
}

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值