我可以轻松使用perror()
。但是,我知道strerror()
也可用于处理。但在此代码中,为什么errnum
再次分配给errno
?有人可以解释一下吗?
FILE *in;
int errnum = 0;
in = fopen(filename, "rt");
if (in == NULL) {
errnum = errno;
fprintf(stderr, "%s: %s.\n", filename, strerror(errnum));
errno = errnum;
return 0UL;
}