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;

    }

  • 相关阅读:
    spring自定义标签
    shell脚本实战
    redis使用场景
    了解并安装Nginx
    查看jar包依赖树
    从一道索引数据结构面试题看B树、B+树
    11条sql技巧
    or/in/union与索引优化
    动态规划
    实现快速迭代的引擎设计
  • 原文地址:https://www.cnblogs.com/mydomain/p/3034808.html
Copyright © 2011-2022 走看看