background image

 

间。   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!