perror()函数
perror()函数用于打印错误消息,将标准错误中定义的错误值errno解释为错误消息并打印到标准错误输出流stderr。perror()函数的声明如下:
void perror(const char * str);
上述函数声明中,str指向一个字符串,在标准错误输出时,可选择在错误信息输出前加上自定义消息。错误输出中的errno是一个整型变量,其值代表调用标准库函数产生的错误原因。接下来通过一个具体案例来学习perror()函数的使用,示例代码如1所示。
例1 perrorFile.c
1 #define _CRT_SECURE_NO_WARNINGS
2 #include <stdio.h>
3 int main()
4 {
5 FILE* fp;
6 fp = fopen("perror.txt", "r+");
7 if (fp == NULL)
8 {
9 perror("打开失败");
10 }
11 }
例1运行结果如图1所示。
图1 例1运行结果
从图1运行结果可以看出,提示的错误信息“No such file or directory”。这些错误信息出现的原因是标准库中定义的,使用perror()函数有利于发现在文件操作中出错的详细信息。