【C语言】strerror 函数的使用

发布于:2024-04-03 ⋅ 阅读:(148) ⋅ 点赞:(0)

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;
}


网站公告

今日签到

点亮在社区的每一天
去签到