内容简介
#include <unistd.h>ssize_t readlink(const char *path, char *buf, size_t%uA0bufsiz)
描述
readlink() places the contents of the symbolic link%uA0path%uA0in the buffer%uA0buf, which has sizebufsiz.%uA0readlink() does not append a null byte to%uA0buf. It will truncate the contents (to a length of%uA0bufsiz%uA0characters), in case the buffer is too small to hold all of the contents.返回值
The call returns the count of characters placed in the buffer if it succeeds, or a -1 if an error occurs, placing the error code in%uA0errno.错误
标签 | 描述 |
---|---|
EACCES | 搜索权限的路径前缀的组成部分将被拒绝. (See also%uA0path_resolution(2).) |
EFAULT | buf%uA0进程的已分配地址空间之外延伸. |
EINVAL | bufsiz%uA0is not positive. |
EINVAL | The named file is not a symbolic link. |
EIO | An I/O error occurred while reading from the file system. |
ELOOP | Too many symbolic links were encountered in translating the pathname. |
ENAMETOOLONG | |
%uA0 | 路径名,或路径名的组成部分太长。 |
ENOENT | 指定的文件不存在。 |
ENOMEM | 没有足够的内核内存可用。 |
ENOTDIR | |
%uA0 | 路径前缀的某组成部分不是目录。 |