----- Original Message -----
From: Anton Fokin <dr_mamadu@mail.ru>
To: <roottalk@pcroot.cern.ch>
Subject: ifstream under NT
> Hi rooters,
> I have just faced a problem, which is a kind of well known (from roottalk refs.) but it is still an enigma for me. The
following works just fine under sun solaris but crashes under NT with diagnostics:
>
> Fatal in <operator delete>: storage area overwritten
> aborting
> Warning in <TWinNTSystem::StackTrace>: this method must be overridden!
>
> void
> TFileDataSource::Update()
> {
> if (!fIsUpdated) {
> printf("Loadnig data ...\n");
> ifstream ifs(fFileName.Data());
> Int_t date;
> Float_t price;
> while (!ifs.eof()) {
> ifs >> date >> price;
> fAsset->AddPriceData(TDate(date,"yymmdd"),price);
> }
> ifs.close();
> fIsUpdated = kTRUE;
> }
> }
I could not to reproduce your problem with a macro as follows:
#include "iostream.h"
TString fFileName = "Anton.C";
Bool_t fIsUpdated = kFALSE;
void Anton()
{
if (!fIsUpdated) {
printf("Loading data ...\n");
ifstream ifs(fFileName.Data());
Int_t date;
Float_t price;
while (!ifs.eof()) {
ifs >> date >> price;
// fAsset->AddPriceData(TDate(date,"yymmdd"),price);
cout << date << ":" << price << endl;
}
ifs.close();
fIsUpdated = kTRUE;
}
}
It works.
Valery
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:43 MET