perror和strerror
时间: 2024-01-08 07:02:40 浏览: 117
C语言编程经典案例900集
`perror`和`strerror`是C语言标准库中用于处理错误信息的函数。
1. `perror`函数用于打印描述错误码的消息。它接受一个错误消息作为参数,并根据全局变量`errno`的值打印对应的错误信息。通常,`errno`保存了最近一次系统调用失败的错误代码。
```c
#include <stdio.h>
#include <errno.h>
int main() {
FILE* file = fopen("nonexistent_file.txt", "r");
if (file == NULL) {
perror("Error opening file");
}
return 0;
}
```
在上面的示例中,如果打开文件失败,`perror`函数将打印类似于"Error opening file: No such file or directory"的错误信息。
2. `strerror`函数用于返回描述错误码的字符串。它接受一个错误码作为参数,并返回一个字符串指针,指向描述该错误码的字符串。
```c
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main() {
FILE* file = fopen("nonexistent_file.txt", "r");
if (file == NULL) {
printf("Error opening file: %s\n", strerror(errno));
}
return 0;
}
```
在上面的示例中,如果打开文件失败,`strerror(errno)`将返回一个描述错误码的字符串,然后将其打印出来。
这两个函数都是用来处理系统调用或库函数调用返回的错误码,以提供更具描述性的错误信息,方便程序员进行错误处理和调试。
阅读全文