Click to See Complete Forum and Search --> : filelength of file descriptor?


mjm461
April 28th, 2004, 12:56 PM
Im seeing g++ does not have a filelength function like Borland? So I wrote my own. My function always seems to return 5 greater than the value I need...

long filelength(int fd)
{
long pos = lseek(fd, 0, SEEK_CUR);
long end = lseek(fd, 0, SEEK_END);
lseek(fd, pos, SEEK_SET);
return (end);
}

Guysl
April 28th, 2004, 01:03 PM
-- deleted -- wrong code.

Marc G
April 28th, 2004, 01:39 PM
Try something like:

long filelength(int fd)
{
long pos = tell(fd);
lseek(fd, 0, SEEK_END);
long end = tell(fd);
lseek(fd, pos, SEEK_SET);
return (end);
}