在通常情况下,open()
返回新的文件描述符,如果发生错误则返回-1,在这种情况下,将适当地设置errno
。为什么fopen()或open()使用errno而不是仅仅返回错误代码?
我不明白为什么这个机制errno
在这里使用?这里的目的是什么?为什么我们不能把所有的错误都映射到一些负面的回报不?
像
fd = open("/dev/tty0", O_RDWR | O_SYNC);
if(fd == -1)
printf("this is EACCES error");
else if (fd == -2)
printf("this is EPERM error");
是否存在的errno
机制的任何中获益,?如果是的话,我想知道/理解,然后在其他事情我也可以使用这种机制。
+1非常好的答案 – 2012-07-10 12:59:25