Para abrir um arquivo, você usa uma construção como a seguinte:
int fd;
if ((fd = open(path, flags)) < 0) {
/* An error occurred, the reason is in errno */
int _errno = errno; /* Save errno value */
fprintf(stderr, "Failed opening file '%s': %s\n", path, strerror(_errno));
return;
}
/* The file was successfully opened */
Portanto, você tem apenas um valor de retorno, que normalmente é o descritor de arquivo. Se for -1
, indica que ocorreu um erro. O erro que ocorreu é armazenado na variável errno
(que você obtém incluindo errno.h
em seu arquivo de origem).