perror 子例程
用途
写入说明子例程错误的消息。
库
标准 C 库 (libc.a)
语法
#include <errno.h>
#include <stdio.h> void perror ( String)
const char *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子程序根据当前语言检索错误信息。
成功完成后,在调用exit或abort子程序,或完成标准错误流上的 fflush或fclose子程序之前,perror子程序会标记要更新的st_ctime和st_mtime字段。
参数
| 项 | 描述 |
|---|---|
| String | 指定一个参数字符串,其中包含导致错误的程序的名称。 随后打印的信息包含该字符串、:(冒号)和对错误的解释。 |