使用perror和strerror两种方式,在标准错误当中输出:****No such file or directory(****是你自定义的字符串)的错误信息,文件名使用#define FILE_NAME __FILE__宏定义。
时间: 2024-03-18 07:37:16 浏览: 18
使用perror和strerror两种方式,在标准错误中输出自定义的错误信息和文件名。
1. 使用perror函数:
perror函数可以将自定义的错误信息和系统错误信息一起输出到标准错误中。可以通过以下步骤实现:
```c
#include <stdio.h>
#include <errno.h>
#define FILE_NAME __FILE__
int main() {
FILE *file;
file = fopen("nonexistent_file.txt", "r");
if (file == NULL) {
fprintf(stderr, "自定义错误信息:%s\n", "****No such file or directory");
perror("系统错误信息");
}
return 0;
}
```
输出结果:
```
自定义错误信息:****No such file or directory
系统错误信息: No such file or directory
```
2. 使用strerror函数:
strerror函数可以将系统错误码转换为对应的错误信息字符串。可以通过以下步骤实现:
```c
#include <stdio.h>
#include <string.h>
#include <errno.h>
#define FILE_NAME __FILE__
int main() {
FILE *file;
file = fopen("nonexistent_file.txt", "r");
if (file == NULL) {
fprintf(stderr, "自定义错误信息:%s\n", "****No such file or directory");
fprintf(stderr, "系统错误信息:%s\n", strerror(errno));
}
return 0;
}
```
输出结果:
```
自定义错误信息:****No such file or directory
系统错误信息:No such file or directory
```