En el caso habitual open()
devuelva el nuevo descriptor de archivo, o -1 si se produjo un error y en ese caso, errno
se ha configurado correctamente.¿Por qué fopen() o open() usan errno en lugar de solo devolver el código de error?
No entiendo por qué se usa este mecanismo de errno
aquí? ¿Cuál es el propósito de aquí? ¿Por qué simplemente no podemos mapear todos los errores con un retorno negativo no?
como
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");
¿Hay algún beneficio de un mecanismo de errno
.? en caso afirmativo, entonces me gustaría saber/entender, entonces en otras cosas también puedo usar este mecanismo.
+1 muy buena respuesta –