间。 EINVAL 参数 mode
不正确。 ENAMETOOLONG 参数 pathname 太长。
ENOTDIR 参数 pathname
不是目录。 ENOMEM
核心内存不足。 ELOOP 参数
pathname
有过多符号连接问题。 EIO I/O 存取错误。
附加说明
使用 access()作用户认证方面的判断要特别小心,例如在 access()后再作 open()空文件
可 能 会 造 成 系 统 安 全 上 的 问 题 。
范 例
#include<unistd.h>
#include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> main() {
int fd,size;
char s [ ]=”Linux Programmer!\n”,buffer[80];
fd=open(“/tmp/temp”,O_WRONLY|O_CREAT); write(fd,s,sizeof(s)); close(fd);
fd=open(“/tmp/temp”,O_RDONLY); size=read(fd,buffer,sizeof(buffer)); close(fd);
printf(“%s”,buffer); }
执行 Linux Programmer!