C语言perror():打印errno的值
perror() 是 C语言的一个标准库函数,定义在
perror() 函数用于打印最近的库函数执行出错的消息,消息基于全局变量 errno,很多标准库函数执行出错时都会设置 errno 的值。
perror() 函数的原型如下:
当 str 为 NULL 时,则 perror() 函数直接打印函数执行出错的消息。
【实例】以下的 C语言代码示例演示了 perror() 函数的功能和用法。
perror() 非常有用,因为它提供了一个快速、简洁的方法来通知用户有关程序中特定库函数调用失败的原因。
<stdio.h>
头文件中。perror() 函数用于打印最近的库函数执行出错的消息,消息基于全局变量 errno,很多标准库函数执行出错时都会设置 errno 的值。
perror() 函数的原型如下:
void perror(const char *str);
参数
str: 一个指向字符串的指针,通常用来对函数发生的错误消息做进一步的描述。当 str 为 NULL 时,则 perror() 函数直接打印函数执行出错的消息。
返回值
无,perror() 函数没有返回值。【实例】以下的 C语言代码示例演示了 perror() 函数的功能和用法。
#include <stdio.h> #include <stdlib.h> #include <errno.h> int main() { FILE *file = fopen("non_existent_file.txt", "r"); if (file == NULL) { // errno 现在已被 fopen 设置,描述错误的原因 perror("Error opening file"); // 打印 "Error opening file: <系统的错误消息>" return EXIT_FAILURE; } // 正常处理文件 fclose(file); return EXIT_SUCCESS; }输出结果为:
Error opening file: No such file or directory
示例中尝试打开一个不存在的文件,由于文件不存在,fopen() 将返回 NULL 并设置全局变量 errno。然后我们调用 perror() 来打印错误消息,该消息将包括由 errno 表示的特定错误原因。perror() 非常有用,因为它提供了一个快速、简洁的方法来通知用户有关程序中特定库函数调用失败的原因。