| Author |
difference between dup and open on same file.
|
Ankur Jain Kothari
Ranch Hand
Joined: Feb 08, 2010
Posts: 154
|
|
Can anyone explain to me the diference between these two?
int fd1 = open("cricket.txt", O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
int fd2 = open("cricket.txt", O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
and
int fd1 = open("cricket.txt", O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
int fd2 = dup(fd1);
Thanks a ton
Cheers
|
Do What You Wanna Be....Taking Things The Way They Come
scjp 1.6 91 percent, scmad 90 percent(rounded off to nearest integer)
|
 |
Ernest Friedman-Hill
author and iconoclast
Marshal
Joined: Jul 08, 2003
Posts: 24054
|
|
If you use dup(), the two descriptors are somewhat connected: the second file descriptor uses the same underlying file description. That means, for example, if you use lseek() with an offset of 100 on one descriptor, and then read from the other one, you'll read starting from offset 100.
If you open() two separate descriptors, however, a seek on one descriptor won't affect the other one at all, and you can read from offset 100 in one file and offset 200 in the other file, without interference.
|
[Jess in Action][AskingGoodQuestions]
|
 |
 |
|
|
subject: difference between dup and open on same file.
|
|
|