perror 子例程

用途

写入说明子例程错误的消息。

标准 C 库 (libc.a)

语法

#include <errno.h>
#include <stdio.h>
void perror ( String)
const char *String;
extern int errno;
extern char *sys_errlist[ ];
extern int sys_nerr;

描述

perror子程序在标准错误输出中写入一条信息,描述系统调用或库子程序遇到的最后一个错误。 错误信息包括String参数字符串,后面是:(冒号)、空格字符、信息和换行符。 字符串参数字符串应包括导致错误的程序名称。 错误编号取自errno全局变量,该变量在错误发生时被设置,但在成功调用perror子程序后不会被清除。

为了简化各种报文格式,在sys_errlist结构中提供了一个报文字符串数组,或者使用errno全局变量作为sys_errlist结构的索引,以获取不带换行符的报文字符串。 表中提供的最大报文编号是sys_nerr。 请务必检查sys_nerr结构,因为在将新错误代码添加到表中之前,系统可能会添加新的错误代码。

perror子程序根据当前语言检索错误信息。

成功完成后,在调用exitabort子程序,或完成标准错误流上的 fflushfclose子程序之前,perror子程序会标记要更新的st_ctimest_mtime字段。

参数

描述
String 指定一个参数字符串,其中包含导致错误的程序的名称。 随后打印的信息包含该字符串、:(冒号)和对错误的解释。