Mail Archives: djgpp/1998/06/19/00:05:43
lsantil AT calstatela DOT edu wrote:
>
> How is it possible to get the size of a file in C++? I know if I opened
> a file in C w/ "FILE *f;" that I just include "io.h" & use printf to print its
> size from the return val of "filelength(fileno(f))" but I'm using ifstream &
> "fstream.h" to open my files. I looked thru the "lang/cxx/" dir & found
> "iostdio.h" which makes some of the "stdio.h" defines equivalent to _IO_*
> including "#define fileno _IO_fileno" //line 107// but I dont see how I can
> do the same with "ifstream f". any suggestions?
It looks like there's a member function of one of the classes from which
`ifstream' is derived called `fd', which returns the file descriptor
(aka handle) of the stream. You can then pass that to `filelength' et
al. I'm not sure of the C++ syntax; it might be something like
`f.fd()'.
--
Nate Eldredge
nate AT cartsys DOT com
- Raw text -