RE: fstream on linuxx8664gcc platform

From: LEE, KERRY T. (JSC-SF) (UHCL) <kerry.t.lee1_at_jsc.nasa.gov>
Date: Sun, 15 May 2005 13:12:29 -0500


Hi Fons,

Thanks for this workaround.

There is another place in my code where I do the following:

fstream fff("mntExHdd",ios_base::in|ios_base_out); ....
Do some reading of the file
...
fff.tellg();

This last line reports a wrong number just like the size was incorrect. Is there also a portable way in ROOT to work around this problem?

Thanks
Kerry

-----Original Message-----
From: Fons Rademakers
To: LEE, KERRY T. (JSC-SF) (UHCL)
Cc: ''roottalk_at_pcroot.cern.ch' '; 'Masaharu Goto '; 'Philippe Canal ' Sent: 5/14/2005 2:30 AM
Subject: Re: [ROOT] fstream on linuxx8664gcc platform

Hi Kerry,

  this will give you file sizes in a portable way in ROOT: #include <TSystem.h>
FileStat_t s;
gSystem->GetPathInfo("mntExHdd", s)
s.fSize // contains the size

LEE, KERRY T. (JSC-SF) (UHCL) wrote:
>
> Hi Fons,
>
> In the meantime, do you know of a workaround I can use to get the file
size?
>
> Thanks
> Kerry
>
> -----Original Message-----
> From: Fons Rademakers
> To: LEE, KERRY T. (JSC-SF) (UHCL)
> Cc: 'roottalk_at_pcroot.cern.ch'; Masaharu Goto; Philippe Canal
> Sent: 5/13/2005 7:29 PM
> Subject: Re: [ROOT] fstream on linuxx8664gcc platform
>
> Hi Kerry,
>
> I see the same problem on my AMD64. Looks like a CINT issue. I'll
> forward
> it to Masa.
>
> Cheers, Fons.
>
>
>
> LEE, KERRY T. (JSC-SF) (UHCL) wrote:
>

>>Dear Root Team,
>>
>>I have transferred some code from a linuxicc platform ROOT version

>
> 4.02/00
>
>>to linuxx8664gcc ROOT version 4.04/02 and it crashed due to incorrect
>>determination of the filesize using fstream.  Here is a sample code

>
> that
>
>>reproduces the problem, where you just put a file in ascii format in

>
> place
>
>>of "mntExHdd".  The correct filesize in my case is 105bytes.
>>
>>//TestStream.C
>>{
>>TString FileName="mntExHdd";
>>fstream fff(FileName,ios_base::in);
>>if(fff.good()){
>>  fff.seekg(0,ios_base::end);
>>  int FileSize = fff.tellg();
>>  cout<<"FileSize="<<FileSize<<endl;
>>  fff.seekg(0,ios_base::beg);
>>} 
>>fff.close();
>>}
>>
>>The results from linuxicc
>>
>>  *******************************************
>>  *                                         *
>>  *        W E L C O M E  to  R O O T       *
>>  *                                         *
>>  *   Version   4.02/00  17 December 2004   *
>>  *                                         *
>>  *  You are welcome to visit our Web site  *
>>  *          http://root.cern.ch            *
>>  *                                         *
>>  *******************************************
>> 
>>FreeType Engine v2.1.3 used to render TrueType fonts.
>>Compiled for linuxicc with thread support.
>> 
>>CINT/ROOT C/C++ Interpreter version 5.15.159, Nov 14 2004
>>Type ? for help. Commands must be C++ statements.
>>Enclose multiple statements between { }.
>>root [0] .x TestStream.C
>>FileSize=105
>>
>>
>>The Results from linuxx8664gcc
>>
>>  *******************************************
>>  *                                         *
>>  *        W E L C O M E  to  R O O T       *
>>  *                                         *
>>  *   Version   4.04/02        9 May 2005   *
>>  *                                         *
>>  *  You are welcome to visit our Web site  *
>>  *          http://root.cern.ch            *
>>  *                                         *
>>  *******************************************
>> 
>>Compiled for linuxx8664gcc with thread support.
>> 
>>CINT/ROOT C/C++ Interpreter version 5.15.169, Mar 14 2005
>>Type ? for help. Commands must be C++ statements.
>>Enclose multiple statements between { }.
>>root [0] .x TestStream.C
>>FileSize=7470896
>>
>>
>>
>>
>>Thanks
>>Kerry

>
>
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers_at_cern.ch              Phone: +41 22 7679248
WWW:    http://www.rademakers.org/fons/      Fax:   +41 22 7679480
Received on Sun May 15 2005 - 20:12:44 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:08 MET