-2

假设我打开 /dev/ttyUSB0。现在我想使用它的文件描述符来获取它的文件路径。

int myfd;

int main(int argc, char *argv[]){
char linkname[256];
ssize_t r;

myfd = open("/dev/ttyUSB0", O_RDWR);
if(myfd<0){

    perror("open error");
    exit(1);
}

r = readlink("/proc/self/fd/myfd", linkname, sizeof(linkname)-1);

if(r<0){
    perror("lstat");
    exit(EXIT_FAILURE);
}

printf("%s\n", linkname);

close(myfd);

    return 0;
}

我应该得到的是/dev/ttyUSB0 ..我做错了吗?

4

1 回答 1

1

字符串肯定myfd不在 /proc 文件系统中吗?我认为链接是用数字命名的,所以你需要调用中的变量myfdreadlink()

于 2012-11-22T14:47:49.533 回答