问题
I want to create a file descriptor in C whose value i will specify in code. I have a integer variable which specifies the value of file descriptor to be created. For example i may need a file descriptor whose value is 5 and later associate that with the file named "sample.dat" .
回答1:
You need dup2()
http://linux.die.net/man/2/dup
回答2:
fd = open ("sample.dat", O_RDONLY);
open the file
dup2 (fd, 5);
and copy the file descriptor fd
into the descriptor number 5
now you can do read (5, buffer, BUFF_MAX);
or also use fd
to access the same file. You need to close the fd
explicitly if you do not need it.
As @Arkadiy told see man dup2
for details.
来源:https://stackoverflow.com/questions/5935872/create-a-file-descriptor