1. 使用perror和strerror两种方式,在标准错误当中输出:****No such file or directory(****是你自定义的字符串)的错误信息 2. 可以参考课程代码,但文件名必须使用#define定义 3. 提交完成的代码
时间: 2024-10-22 12:14:45 浏览: 43
1. 在C语言中,`perror()` 函数通常用于处理系统级错误,并将内建的错误消息转换为人类可读的形式。如果你想自定义错误信息并添加 "No such file or directory",可以先使用 `errno` 获取当前的错误码,然后结合 `strerror()` 来获取对应的错误描述。示例代码如下:
```c
#include <stdio.h>
#include <string.h>
#include <errno.h>
#define MSG "****No such file or directory"
int main() {
int error_code = errno; // 获取当前错误码
char *custom_err_msg = strerror(error_code); // 调用strerror
if (custom_err_msg == NULL) {
perror("Error occurred while opening file");
} else {
printf("%s: %s\n", MSG, custom_err_msg); // 自定义错误信息
}
return 0;
}
```
2. 如果需要在课程代码中使用预定义的文件名,你可以通过 `#define` 宏来设置。例如:
```c
#define FILE_NAME "my_file.txt"
int main() {
// ...
FILE *file = fopen(FILE_NAME, "r"); // 尝试打开文件
if (!file) {
perror("Opening file failed");
// 或者按照上面的方式处理自定义错误
}
// ...
return 0;
}
```
在实际编写代码时,记得替换 `FILE_NAME` 为你想要的文件名。
阅读全文