FFm*_*ast 2 c errno language-lawyer
perror我可以使用以下命令打印人类可读的 errno 版本:
#include <errno.h>
#include <stdio.h>
int main(void) {
FILE *fp = fopen("file.txt", "r");
if (fp == NULL) {
perror("Unable to open file");
return -1;
}
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这也适用于我的实现:
#include <stdio.h>
int main(void) {
FILE *fp = fopen("file.txt", "r");
if (fp == NULL) {
perror("Unable to open file");
return -1;
}
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
是否使用perror不包含<errno.h>非标准?
perror是的,不包含errno.h就可以使用。C 标准的 7.21.10.4p1 节给出了该函数的以下概要:
Run Code Online (Sandbox Code Playgroud)#include <stdio.h> void perror(const char *s);
仅需要访问errno宏才能包含 errno.h。
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |