zoukankan      html  css  js  c++  java
  • C语言的readlink

    C语言的readlink

    read value of a symbolic link

    ssize_t readlink(const char *path, char *buf, size_t bufsiz);

    readlink() places the contents of the symbolic link path in the buffer buf, which has size bufsiz. readlink() does not append a null byte to buf. path所指的符号连接中对应的文件路径放到buf中,最多bufsiz个字节。

    示例

    #include <stdio.h>

    #include <stdlib.h>

    #include <string.h>

    #include <unistd.h>

    #include "sys/types.h"

    #include <sys/stat.h>

    #include <fcntl.h>

    //#include <>

    int get_pathname_from_fd(int fd, char pathname[], int n)

    {

    char buf[1024];

    pid_t pid;

    bzero(buf, 1024);

    pid = getpid();

    snprintf(buf, 1024, "/proc/%i/fd/%i", pid, fd);

    return readlink(buf, pathname, n);

    }

    int main(void)

    {

    int fd;

    char pathname[4096];

    bzero(pathname, 4096);

    fd = open("/tmp/foo", O_CREAT|O_RDONLY);

    get_pathname_from_fd(fd, pathname, 4096);

    printf("fd=%d; pathname=%s\n", fd, pathname);

    return 0;

    }

  • 相关阅读:
    设计模式
    idea多个项目
    多个tomcat配置
    mysql数据库默认时间字段格式
    读取文件
    上传图片
    数据库创建用户授权
    统计12个月份的数据
    行列转换
    分页
  • 原文地址:https://www.cnblogs.com/mydomain/p/3034808.html
Copyright © 2011-2022 走看看