c语言文件函数还行 c语言函数格式举例( 五 )


S_IRWXU00700权限, 代表该文件所有者具有可读、可写及可执行的权限.
S_IRUSR或S_IREAD, 00400 权限,代表该文件所有者具有可读取的权限.
S_IWUSR或S_IWRITE, 00200 权限, 代表该文件所有者具有可写入的权限.
S_IXUSR或S_IEXEC, 00100 权限,代表该文件所有者具有可执行的权限.
S_IRWXG00070 权限, 代表该文件用户组具有可读、可写及可执行的权限.
S_IRGRP00040 权限, 代表该文件用户组具有可读的权限.
S_IWGRP00020 权限, 代表该文件用户组具有可写入的权限.
S_IXGRP00010 权限, 代表该文件用户组具有可执行的权限.
S_IRWXO00007 权限, 代表其他用户具有可读、可写及可执行的权限.
S_IROTH00004 权限, 代表其他用户具有可读的权限
S_IWOTH00002 权限, 代表其他用户具有可写入的权限.
S_IXOTH00001 权限, 代表其他用户具有可执行的权限.
返回值:若所有欲核查的权限都通过了检查则返回0 值, 表示成功, 只要有一个权限被禁止则返回-1.
错误代码:
EEXIST参数pathname 所指的文件已存在, 却使用了O_CREAT 和O_EXCL旗标.
EACCESS参数pathname 所指的文件不符合所要求测试的权限.
EROFS 欲测试写入权限的文件存在于只读文件系统内.
EFAULT参数pathname 指针超出可存取内存空间.
EINVAL参数mode 不正确.
ENAMETOOLONG参数 pathname 太长.
ENOTDIR参数pathname 不是目录.
ENOMEM核心内存不足.
ELOOP 参数pathname 有过多符号连接问题.
EIOI/O 存取错误.
附加说明:使用access()作用户认证方面的判断要特别小心, 例如在access()后再作open()空文件可能会造成系统安全上的问题.
范例
#includeunistd.h
#includesys/types.h
#includesys/stat.h
#includefcntl.h
main()
{
intfd, size;
chars[] = "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);
}
执行
LinuxProgrammer!
【c语言文件函数还行 c语言函数格式举例】关于c语言文件函数还行和c语言函数格式举例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读