在通常情況下,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