如何解决c 中的 if(errno != EEXIST) 是什么?
errno 和 EEXIST 是什么意思?
@test test
我无法理解 if 语句的条件。是说“如果 errno 不存在”吗?
解决方法
如果深入研究 errno.h
,您会发现 EEXIST
是另一个文件中定义的 C 宏。在我的 Debian PC 上,它位于 /usr/include/asm-generic/errno-base.h
。
#define EEXIST 17 /* File exists */
运行man errno
查找errno
变量的含义:
DESCRIPTION
The <errno.h> header file defines the integer variable errno,which is
set by system calls and some library functions in the event of an error
to indicate what went wrong.
所以代码块的意思是检查最后一个函数生成的errno
,如果不是“File exists”(文件不存在),则打印错误信息。
运行 man perror
以获取更多信息。说真的,在向 stackoverflow 提出这样的问题之前,您应该从某本书中学习 C。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。