-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 に答える