delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/06/19/00:05:43

Sender: nate AT cartsys DOT com
Message-ID: <3589B9CF.AC9FDAE4@cartsys.com>
Date: Thu, 18 Jun 1998 18:07:27 -0700
From: Nate Eldredge <nate AT cartsys DOT com>
MIME-Version: 1.0
To: lsantil AT calstatela DOT edu
CC: djgpp AT delorie DOT com
Subject: Re: Get file size in C++
References: <199806180458 DOT VAA09502 AT neptune DOT calstatela DOT edu>

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019