76.【C语言】perror函数介绍

1.cplusplus的官网介绍

cplusplus的介绍 点我跳转

2.翻译

函数

perror


复制代码
void perror ( const char * str );

打印错误信息

将errno(最后一个错误数字)的值解释为错误信息,之后把它打印到stderr中(标准错误输出流,通常是控制台)(备注有关"流"的概念在75.【C语言】文件操作(2)),可选地在其前面加上在str中指定的自定义消息

errno是一个用于描述错误状态或者诊断信息(由于调用了库函数)的整型变量(任何C的标准库函数可能设置errno的值,尽管在此参考中没有提及,有关更多信息请参见errno 点我跳转)

由perror产生的错误信息依赖于平台

形参str 不应该为空指针,打印str后跟着一个 : 和一个空格,接着无论str是否为空指针,都会打印生成的错误描述,后跟一个换行字符(\n)

perror函数应该在错误产生后立刻调用,否则它可能被其他调用函数所覆盖

参数


包含要在错误信息本身之前打印的自定义消息的C字符串,如果它是一个空指针,则不打印前面的自定义消息,但仍然打印错误信息。

按照惯例,通常使用应用程序的名称作为参数。

返回值


3.使用

复制一下代码到VS上测试,确保在项目的目录中没有a.txt文件

cpp 复制代码
#include <stdio.h>
#include <errno.h>
int main()
{
	FILE* pf = fopen("a.txt", "r");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;//错误返回
	}

	fclose(pf);
	pf = NULL;
	return 0;
}

效果

细节验证了cplusplus网的介绍

相关推荐
程序喵大人6 小时前
【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里
开发语言·c++·stl
cui_ruicheng6 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
wdfk_prog8 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
晴空了无痕8 小时前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
神明不懂浪漫8 小时前
【第五章】Java中的继承与多态
java·开发语言
神州世通9 小时前
解密企业通信安全防线:Avaya Aura 三层安全架构深度解析
开发语言·php
碎光拾影9 小时前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件
GeekArch9 小时前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
AC赳赳老秦10 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
qq_25183645710 小时前
基于java Web 动漫视频网站毕业论文
java·开发语言·前端